我在描述我想做的事情时遇到了麻烦,但是这个例子是最好的解释:
下面大部分是我想做的,但是还有另一列:日期,我只想对每个商店的每个日期计数一次
SELECT key,COUNT(*) AS 'cnt',NAME FROM myTable GROUP BY key
所以排除所有不相关的数据,可以说我有
KEY | DATE -------------------- A | 2019-06-01* A | 2019-06-01 A | 2019-06-02* A | 2019-06-03* B | 2019-06-01* B | 2019-06-01 B | 2019-06-01 B | 2019-06-02* C | 2019-06-01* C | 2019-06-02*
我想得到
A | 3 B | 2 C | 2
仅计算每个键的第一个唯一日期(标有*)。
有什么简单的方法可以解决我所缺少的吗?
答案 0 :(得分:2)
SELECT KEY, COUNT(DISTINCT DATE) AS 'cnt' FROM myTable GROUP BY KEY;