【发布时间】:2013-09-18 08:07:47
【问题描述】:
这是我表的记录:
item_code | qty
001 1
001 1
002 2
002 2
003 2
004 1
005 3
这是我的代码,用于选择不同的item_code 和基于GROUP BY qty 的数量总数:
select item_code, sum(qty) as qty
from imp_inv
group by item_code
结果如下:
item_code | qty
001 2
002 4
003 2
004 1
005 3
我苦苦挣扎的是,如何选择带有qty where 子句的item_code,这就是我尝试过的:
select item_code, sum(qty) as qty
from imp_inv where qty = 2
group by item_code
结果如下:
item_code | qty
002 2
002 2
003 2
上面的代码只选择qty为2的item_code,我想要的是根据qty的总数选择一个item_code,这是我的结果想拥有:
item_code | qty
001 2
003 2
希望大家能理解我的问题,谢谢大家的帮助。
更新
我删除了所有选择查询中的 distinct。
我将 item_code 的数量改为 3。
我将 COUNT 更改为 SUM。
【问题讨论】:
-
您确定您使用的是
count(qty)而不是(sum(qty)?示例数据和结果与您显示的查询不匹配.. -
@ypercube:是的,先生,我正在使用 count(qty),它对我有用。
-
@Matthew,查询中是否需要
DISTINCT? -
SELECT COUNT(qty) ... GROUP BY item_code(您的第一个查询)不可能为item_code=2显示4。与您显示的数据不同。 -
@ypercube:先生,您好,在我的第一个查询中,我选择了不同的计数及其总数,我没有使用 item_code = 2 的 where 子句,如果我错了,请纠正我,谢谢帮助。
标签: mysql sql select count distinct