根据SQL中的其他两列计算不同的属性值

时间:2015-10-21 21:51:54

标签: mysql sql count distinct

我有一个包含三个关键属性的表格,如下所示:

Input Table

我想查询它以根据商品类型和销售日期确定销售的商品数量。因此输出可能如下所示:

http://i.stack.imgur.com/27glz.png

我的查询如下:

SELECT SaleItem AS 'Item Sold', SaleDay AS 'Item Sell Day', COUNT(DISTINCT SaleNumber) AS 'Number'
FROM Sales
GROUP BY SaleDay, SaleItem

这将返回一个正确组织SaleItems的表,但计数是已售出的总数,不包括SaleDay属性。

它返回每件商品的总销售数量,而不是每件商品当天的销售额。因此,如果周一卖出7支笔,周二则卖出6支笔,则应返回两个元组(7,星期一,笔)和(6,星期二,笔)。目前,它返回(13,星期一,笔)和(13,星期二,笔)。

如何修复此查询?

1 个答案:

答案 0 :(得分:0)

你提出了问题,接下来只需显示输入&输出所以你会得到更快的答案,无论如何,这是你的解决方案:你不需要明确的

SELECT SaleItem AS 'Item Sold', 
       SaleDay AS 'Item Sell Day', 
       COUNT(SaleItem) AS 'Number'
FROM Sales
GROUP BY SaleDay, SaleItem