mysql> select * from test1;
+------+
| c1 |
+------+
| a |
| b |
| c |
| d |
+------+
4 rows in set (0.00 sec)
+------+
| c1 |
+------+
| a |
| b |
| c |
| d |
| a |
| b |
| c |
| d |
+------+
8 rows in set (0.00 sec)
mysql> select * from test1 left join test2 using(c1) ;
+------+
| c1 |
+------+
| a |
| a |
| b |
| b |
| c |
| c |
| d |
| d |
+------+
8 rows in set (0.07 sec)
解决方案:
如果Account表中的数据量很大的话,可以用exists的方式:
1.SELECT amount from Payment p
WHERE exists (SELECT 1 FROM Account a
WHERE a.uid = p.uid
and a.createtime BETWEEN 10000 AND 10003);
2.在b中找唯一的列和a关联,或者增加条件.
3.group by 关键值.