我的数据就像
HRS - SVDATE
2017-01-1
2017-01-1
2017年1月2日
2017年2月1日
2017年2月1日
2017年2月1日
2017-3/1
2017-1/1
2017-2/1
2017-3/1
请原谅,我在列之间使用了aiphen(-)
在这里,我需要使用count> 2获得HRS和SVDATE的不同记录,如下所示,仅在我想要的行下面
HRS - SVDATE
2017-01-1
2017年1月2日
2017-1/1
2017-2/1
2017-3/1
我尝试使用Group by HRS,SVDATE的COUNT(hrs) >1
我正在获取HRS=1 count=3,但我需要获取HRS=1 count=2(这里只有两个不同的SVDATE)
请帮助如何为此编写查询
发布于 2018-01-03 00:18:21
您的COUNT(hrs)只计算hrs为非NULL的记录数。
相反,您需要COUNT(DISTINCT hrs):
SELECT
svdate,
COUNT(DISTINCT hrs) AS NrOfDistinctHours,
COUNT(*) AS NrOfRows
FROM ...
GROUP BY svdate
HAVING COUNT(DISTINCT hrs) > 1发布于 2018-01-03 00:31:37
如果我没理解错你的问题,它会给出你想要的输出。
SELECT DISTINCT t1.svdate,t1.hrs from table t1
JOIN (SELECT hrs from
(SELECT DISTINCT svdate,hrs FROM table)
GROUP BY hrs
HAVING COUNT(hrs) > 1) t2
ON t1.hrs=t2.hrshttps://stackoverflow.com/questions/48064285
复制相似问题