有人可以帮我根据编号“订购”一个 mysql 表吗?字符串在同一表的列之一中出现的次数。
我想根据某个位置出现的次数重新排列表格。
请看下面的例子:
id 名称 位置 - ----- -------- 1 马克美国 2 迈克美国 3 保罗澳大利亚 4 Pranshu 印度 5 Pranav 印度 6 约翰加拿大 7 Rishab 印度
预期结果:
id 名称 位置 - ----- -------- 4 Pranshu 印度 5 Pranav 印度 7 Rishab 印度 1 马克美国 2 迈克美国 3 保罗澳大利亚 6 约翰加拿大
我试过这个查询:
SELECT *, COUNT(location) AS count FROM `tablename` GROUP BY `location` ORDER BY count DESC;
Run Code Online (Sandbox Code Playgroud)
但它向我展示了以下结果,省略了重复出现的位置:
id 名称 位置 - ----- -------- 4 Pranshu 印度 1 马克美国 3 保罗澳大利亚 6 约翰加拿大
SELECT x.*
FROM my_table x
JOIN (SELECT location, COUNT(*) total FROM my_table GROUP BY location) y
ON y.location = x.location
ORDER
BY total DESC
, id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1620 次 |
| 最近记录: |