【发布时间】:2013-11-23 19:33:58
【问题描述】:
我有一张桌子_1:
id custno
1 1
2 2
3 3
还有一张桌子_2:
id custno qty
1 1 10
2 1 7
3 2 4
4 3 7
5 1 5
6 1 5
当我运行此查询以显示每个客户的最小订单数量时:
SELECT table_1.custno,table_2.qty
FROM table_1 LEFT OUTER JOIN table_2 ON table_1.custno = table_2.custno AND
qty = (SELECT MIN(qty) FROM table_2 WHERE table_2.custno = table_1.custno )
然后我得到这个结果:
custno qty
1 5
1 5
2 4
3 7
如何获得每个custno 的最小值qty?
我该怎么做?
谢谢!
【问题讨论】:
-
我没有看到客户 1 两次。我看到客户 4,它甚至不存在。
-
您要选择所有最小数量的客户吗?
-
使用
GROUP BY custno,那么你只需要table_2。SELECT custno, MIN(qty) as Min_Qty FROM table_2 WHERE table_2.custno = table_1.custno GROUP BY custno -
left join without duplicate values using MIN() 的重复项 -- 请编辑您的问题,而不是发布重复项。
-
读者注意... 原发帖人继续关于此查询的问题,在此帖子:stackoverflow.com/questions/19916298/…
标签: sql join duplicates