我有一个表,其中有一些相同日期的重复值
MyTime | Mrc | Num
21-Dec | ABC | 200
21-Dec | ABC | 200
20-Dec | DEF | 300
20-Dec | DEF | 300
19-Dec | XYZ | 254
21-Nov | ABC | 200
我想忽略重复的条目并按 DATE(Mytime), Mrc, Num
i、 e.我想检测具有同一个月的同一天、mrc和num出现多次但不完全重复的条目
因此,预期输出为:
MyTime | Mrc | Num | cnt
21 | ABC | 200 | 2
我尝试了以下方法:
SELECT DISTINCT(MyTime, Mrc, Num, Count(*) as cnt)
FROM `My_Table`
WHERE MType != 'XX'
AND HType != 'YY'
GROUP BY Date(MyTime), Mrc, Num
ORDER BY MyTime DESC
但它不起作用。
1条答案
按热度按时间myzjeezk1#
使用
COUNT(DISTINCT MyTime)
:笔记:
你想要那个
DAY()
功能,而不是DATE()
函数提取日期的日部分DISTINCT
是一个关键字,而不是函数,因此请避免使用括号,即这样使用:SELECT DISTINCT column1, column2, ...
COUNT(DISTINCT expression)
返回不同值的数目