我是SQL的新手,我正在使用SQLite 3对销售数据进行购物篮分析。
相关列是产品ID,唯一交易ID(用于标识购物篮)和产品数量。如果客户购买了多种产品类型,则重复使用unqiue交易ID。
我只想选择顾客购买超过1件物品的篮子。
在SQLite上有没有办法选择唯一的交易ID和数量的总和,但仅限于数量多于一的唯一交易ID?
到目前为止,我已经尝试过:
select uniqID, sum(qty) from salesdata where sum(qty) > 1 group by uniqID;
但SQLite给了我错误'滥用聚合:sum()'
很抱歉,如果这是一个简单的问题,但我很难通过Google搜索找到任何相关信息!
答案 0 :(得分:11)
尝试
select uniqID, sum(qty) from salesdata group by uniqID having sum(qty) > 1
“where
”无法用于汇总功能 - 在这种情况下,您只能在where
上使用uniqId
。
答案 1 :(得分:1)
如果你想对你得到的结果有任何条件,你必须使用。
select uniqID, sum(qty) as sumqty from salesdata group by uniqID having sumqty > 1
你可以将任何条件置于正常的地方。
having sumqty = 1 ,having sumqty < 1 ,having sumqty IN (1,2,3) etc..