gpt4 book ai didi

mysql - 按 Count(field) 排序,但所有行都在答案中

转载 作者:行者123 更新时间:2023-11-30 21:46:20 25 4
gpt4 key购买 nike

我重写了一个stackoverflow问题:

我有一个表格和这样的数据:

ID |  Name  |  Type 

1 Apple A

2 Boy A

3 Cat B

4 Dog C

5 Elep C

6 Fish C

我必须使用什么 SELECT 来获得这个结果:

4    Dog       C

5 Elep C

6 Fish C

1 Apple A

2 Boy A

3 Cat B

我不想要这个......:

select ID, Name, Type from TABLE where GROUP BY Type order by count(*) desc;

...结果如下:

4    Dog       C

1 Apple A

3 Cat B

谢谢

最佳答案

您遇到的问题是分组命令会影响您尝试选择的值。解决此问题的一种方法是在其自己的表中为每个 type 导出计数 (typetotal),例如:

SELECT
Type,
COUNT(*) AS typetotal
FROM
TABLE
GROUP BY
Type

我们现在可以使用 INNER JOIN 命令将 Type 链接到 typetotal 到您的新 SELECT 查询,允许您排序查询如下所示:

SELECT
TABLE.ID,
TABLE.Name
TABLE.Type,
FROM
(
SELECT
Type,
COUNT(*) AS typetotal
FROM
TABLE
GROUP BY
Type
)
AS tblTypeCount
INNER JOIN
TABLE
ON
TABLE.Type = tblTypeCount.Type
ORDER BY
tblTypeCount.typetotal DESC

我希望我以一种有意义的方式解释了这一点,如果您需要任何说明或有任何建议,请告诉我。

关于mysql - 按 Count(field) 排序,但所有行都在答案中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49311028/

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