gpt4 book ai didi

sql - 检索大量字段时如何在sql server中获得正确的计数?

转载 作者:行者123 更新时间:2023-12-04 20:39:54 25 4
gpt4 key购买 nike

这是我的场景,

我的查询返回很多字段。其中一个字段称为 ID,我想按 ID 进行分组并按降序显示计数。但是,由于我带回了更多字段,因此显示真实计数变得更加困难,因为我必须按其他字段进行分组。这是我正在尝试做的一个例子。如果我只有 2 个字段(ID、颜色)并且按颜色分组,我最终可能会得到如下结果:

ID 颜色计数

== ===== =====

2    红色    10

3    蓝色    5

4    绿色   24

假设我添加了另一个字段,该字段实际上是同一个人,但他们的名字拼写不同,这会导致计数失败,所以我可能有这样的内容:

ID 颜色名称计数

== ===== ===== =====

2    红色    吉姆      5

2    红色    吉米      5

3    红色    鲍勃      3

3    红色    罗伯特      2

4    红色    约翰尼      12

4    红色    约翰      12

我希望能够返回 ID、颜色、名称和计数,但像第一个表中那样显示计数。有没有办法使用 ID 来做到这一点?

最佳答案

如果您想要单个结果集,则必须省略名称,如第一篇文章中所示

SELECT Id, Color, COUNT(*)
FROM YourTable
GROUP By Id, Color

现在,您可以通过子查询获得所需的功能,尽管并不优雅

SELECT Id, Color Name, (SELECT COUNT(*) 
FROM YourTable
Where Id = O.Id
AND Color = O.Color
) AS "Count"
FROM YourTable O
GROUP BY Id, Color, Name

这应该按照你的意愿工作

关于sql - 检索大量字段时如何在sql server中获得正确的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com