2011-03-10 86 views
0

问候, 我想建立一个查询,将提供两个日期之间的所有记录(一些记录是反复出现的)的总数。我被困在以下查询:sql查询计数两个日期之间的多行

SELECT DISTINCT Country, COUNT(Country) as Count, Date 
From DataSet 
GROUP BY Country, Date 
ORDER BY Country HAVING Date>'1/1/2000' 

在此先感谢。

回答

0
SELECT DISTINCT Country, COUNT (Country) AS COUNT 
    FROM DataSet 
    WHERE Date BETWEEN '01-01-2010' AND '01-01-2011' 
GROUP BY Country 
ORDER BY Country 

你不应该按日期组,因为你会得到每一个日期排

0
SELECT Country, COUNT(DISTINCT Country) as "Count" 
FROM DataSet GROUP BY Country, Date 
HAVING Date>'1/1/2000'; 

因为HAVING没有被确定与顺序设置coorect它

+0

你只需要使用HAVING子句,如果您正在过滤聚合(SUM,COUNT)。因此,如果您想要Count大于10的所有记录,您可以使用HAVING COUNT(*)> 10.如果您只是过滤一个值,它应该在WHERE子句中。 – Leslie 2011-03-10 16:14:50

相关问题