【发布时间】:2019-08-14 23:32:13
【问题描述】:
所以基本上,假设我有一个名为“销售”的表格,列出了商店的每笔销售。
为简单起见,我们将保留三列:
SALE_ID DATE_SALE VENDOR
1 101 2019/01/01 Camille
2 102 2019/01/01 Lucas
3 103 2019/01/02 Rudy
4 104 2019/01/01 Lucas
5 105 2019/01/01 Delphine
6 106 2019/01/03 Penelope
7 107 2019/01/02 Rudy
8 108 2019/01/03 Delphine
9 109 2019/01/03 Camille
10 110 2019/01/04 Rudy
11 111 2019/01/02 Camille
12 112 2019/01/04 Penelope
我只是想总结给定时间段内每个供应商的销售额。所以我很自然地尝试使用带有“分组依据”指令的 count() 函数:
select vendor, count(vendor)
from sales
where vendor in ('Camille', 'Lucas', 'Delphine', 'Rudy', 'Penelope', 'Alice')
group by vendor
order by vendor;
输出如下:
VENDOR COUNT(VENDOR)
1 Camille 3
2 Delphine 2
3 Lucas 2
4 Penelope 2
5 Rudy 3
您可能已经注意到,查询中还有一个名字,我要求她在计数列中显示为 0。
我看到许多主题相同的主题,但它们都依赖于几个表,并且解决方案总是暗示某种外连接。我只有一张桌子,而且它是我唯一可以使用的桌子,所以很遗憾,这个解决方案不适用。
各位好心人有什么替代方案可以推荐吗?
非常感谢您抽出宝贵的时间
【问题讨论】:
-
您应该有一张包含所有供应商的表格。它的名称和结构是什么?