mysql:按mysql表列中元素的出现次数排序

mysql:按mysql表列中元素的出现次数排序,mysql,phpmyadmin,Mysql,Phpmyadmin,有人能帮我根据同一个表的某列中字符串的出现次数来“排序”一个mysql表吗 我想根据位置发生的次数重新排列表 请参见下面的示例: 但它显示了以下结果忽略了位置的重复出现: id name location -- ----- -------- 4 Pranshu India 1 Mark US 3 Paul Australia 6 John Canada id名称位置 -- -----

有人能帮我根据同一个表的某列中字符串的出现次数来“排序”一个mysql表吗

我想根据位置发生的次数重新排列表

请参见下面的示例:

但它显示了以下结果忽略了位置的重复出现

id name location -- ----- -------- 4 Pranshu India 1 Mark US 3 Paul Australia 6 John Canada id名称位置 -- ----- -------- 4印度普兰舒 1马克我们 3保罗澳大利亚 6约翰加拿大
难得的是,一个人数的东西也是一个人分组的东西!@Mindstapper的答案正是你现在需要的 id name location -- ----- -------- 4 Pranshu India 5 Pranav India 7 Rishab India 1 Mark US 2 Mike US 3 Paul Australia 6 John Canada
SELECT *, COUNT(location) AS count FROM `tablename` GROUP BY `location` ORDER BY count DESC;
id name location -- ----- -------- 4 Pranshu India 1 Mark US 3 Paul Australia 6 John Canada
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;