我有一张桌子 - 就这个问题而言,它有一个专栏word.此表中包含以下信息:
apple - 出现3次banana - 出现5次pear - 出现3次我编写了以下SQL代码来唯一地选择每个单词,以及该单词出现在表中的次数:
SELECT word, COUNT(word) FROM table GROUP BY word ORDER BY COUNT(word) DESC;
Run Code Online (Sandbox Code Playgroud)
这将返回以下信息:
--------------------------
| word | COUNT(word) |
--------------------------
| banana | 5 |
--------------------------
| apple | 3 |
--------------------------
| pear | 3 |
--------------------------
Run Code Online (Sandbox Code Playgroud)
有没有办法编写查询以返回以下信息:
-----------------------------
| COUNT(word) | words |
-----------------------------
| 5 | banana |
-----------------------------
| 3 | apple, pear |
-----------------------------
Run Code Online (Sandbox Code Playgroud)
我正在思考双重思路GROUP BY,但还没有想到太多.
你可以使用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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |