我想在sql中使用查询结果,但它有一些重复值,我想要它的不同值

我想在sql中使用查询结果,但它有一些重复值,我想要它的不同值,sql,sql-server,Sql,Sql Server,我的问题是 SELECT [date], [Id], COUNT(*) AS cc FROM BestReviews WHERE customer = 'ATVPDKIKX0DER' GROUP BY [id], [date] HAVING COUNT(Id) > 50 ORDER BY cc DESC 它返回如下结果: 1999-3-22 534215 64 1999-3-22 220009 64 1998-11-18

我的问题是

SELECT 
    [date], [Id], COUNT(*) AS cc
FROM 
    BestReviews
WHERE
    customer = 'ATVPDKIKX0DER'
GROUP BY
    [id], [date]
HAVING 
    COUNT(Id) > 50 
ORDER BY
    cc DESC
它返回如下结果:

1999-3-22   534215  64
1999-3-22   220009  64
1998-11-18  139545  58
1998-11-18  314112  58
1998-11-18  427338  58
1999-11-16  75564   55
1999-11-16  279232  55
我只想知道这个查询的3个不同日期。e、 十、1999-3-22及1998-11-18及1999-11-16。有序的后代


有人能帮我吗?

不清楚为什么不同的ID会得到相同的计数

但是,您的问题的答案似乎是从
选择
分组依据中删除
id

SELECT [date], count(*) as cc
FROM BestReviews
WHERE customer = 'ATVPDKIKX0DER'
GROPU BY [date]
HAVING count(*) > 50 
ORDER BY cc DESC;

不清楚为什么不同的ID会得到相同的计数

但是,您的问题的答案似乎是从
选择
分组依据中删除
id

SELECT [date], count(*) as cc
FROM BestReviews
WHERE customer = 'ATVPDKIKX0DER'
GROPU BY [date]
HAVING count(*) > 50 
ORDER BY cc DESC;

同一日期的不同
id
s具有asme计数是可疑的。同一日期的不同
id
s具有asme计数是可疑的。但如果我删除id,它将无法正常工作。因为Id的计数在组中很重要,而不是日期的计数。但如果我删除Id,它将无法正常工作。因为身份证的数量在小组中很重要,而不是日期的数量。非常感谢。它能给我想要的东西。欢迎!:)我只是想重申@Gordon Linoff的建议是正确的,因为它的id不同,所以您有多个结果。如果您从group by中删除id并选择,它将为您提供相同的期望结果。但是,如果要保留id。。只需将id从GROUPBY中删除,并将max(id)从select中删除,尽管我以子查询的形式回答了上面的问题。。原因是保留您的查询结果。非常感谢。它能给我想要的东西。欢迎!:)我只是想重申@Gordon Linoff的建议是正确的,因为它的id不同,所以您有多个结果。如果您从group by中删除id并选择,它将为您提供相同的期望结果。但是,如果要保留id。。只需将id从GROUPBY中删除,并将max(id)从select中删除,尽管我以子查询的形式回答了上面的问题。。背后的原因是保留查询结果。