当前位置:  开发笔记 > 后端 > 正文

GROUP BY在GROUP中由GROUP BY返回的行数

如何解决《GROUPBY在GROUP中由GROUPBY返回的行数》经验,为你挑选了1个好方法。

我有一张桌子 - 就这个问题而言,它有一个专栏word.此表中包含以下信息:

apple - 出现3次

banana - 出现5次

pear - 出现3次

我编写了以下SQL代码来唯一地选择每个单词,以及该单词出现在表中的次数:

SELECT word, COUNT(word) FROM table GROUP BY word ORDER BY COUNT(word) DESC;

这将返回以下信息:

--------------------------
| word     | COUNT(word) |
--------------------------
| banana   | 5           |
--------------------------
| apple    | 3           |
--------------------------
| pear     | 3           |
--------------------------

有没有办法编写查询以返回以下信息:

-----------------------------
| COUNT(word) | words       |
-----------------------------
| 5           | banana      |
-----------------------------
| 3           | apple, pear |
-----------------------------

我正在思考双重思路GROUP BY,但还没有想到太多.



1> wogsland..:

你可以使用GROUP_CONCAT:

SELECT word_count, GROUP_CONCAT(word SEPARATOR ', ') as words
FROM (SELECT word, COUNT(word) as word_count
      FROM table 
      GROUP BY word) w
GROUP BY word_count
ORDER BY word_count DESC;

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有