我有 2 张 table :
库存
StockID | ItemName
1 | hat
2 | hammer
3 | banana
4 | elephant
5 | book
和篮子
BasketID | StockID | Quantity
1 | 3 | 5
2 | 2 | 20
3 | 1 | 7
4 | 2 | 60
5 | 5 | 23
6 | 1 | 17
7 | 3 | 3
8 | 4 | 6
9 | 3 | 1
10 | 2 | 1
11 | 2 | 13
我正在尝试创建一个 SQL 查询,输出 StockID、ItemName、总销售数量以及该 Item 的订单数。
我有这个:
SELECT stock.StockID, stock.ItemName, SUM( basket.Quantity ) AS QuantitySold
FROM stock
JOIN basket ON stock.StockID = basket.StockID
GROUP BY stock.Itemname
ORDER BY stock.StockID
LIMIT 0 , 30
效果很好,但是当我尝试添加时:
COUNT (DISTINCT basket.BasketID)
我刚刚收到一条消息,说我有语法错误。
我对这一切还很陌生,如果我的逻辑错误,那么很抱歉,但不应该只计算与 stockID 相关的不同值,因为它几乎可以计算销售数量的总和,它位于所有位置与篮子表中的 stockID 相关联的篮子数量值。
非常感谢所有帮助 - 汤姆
最佳答案
不确定这是否是您问题的完整答案,但我认为在 MySQL 中,您不能像 COUNT
那样在函数名称和前括号之间有空格。
关于mysql - SQL COUNT DISTINCT 值通过 JOIN 绑定(bind)到记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20314257/