mysql - SQL COUNT DISTINCT 值通过 JOIN 绑定(bind)到记录

标签 mysql sql count distinct

我有 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/

相关文章:

MYSQL COUNT(column) 意外返回多行

mysql - 按一列分组但不包括另一列

mysql - 可以计算MySQL查询中两个日期时间字段之间的时间差吗?

mysql - 我想计算动态创建的周数列的值数

mysql - 如何缓存结果

sql - 在android中创建多表SQL数据库

javascript - 如何使用 JavaScript 找到出现次数最多的数字?

sql - 获取计数行的最后一个实例

mysql - 获取计数的平均数

r - 计算r中连续的年数