mysql排除记录并显示为不同的头

时间:2016-05-19 10:03:00

标签: mysql

我有一个包含列城市和州的数据表,

   City      State 
   Delhi     Delhi
   Dwarka     Delhi
   Mumbai    Maharashtra
   Ahmadabad Gujarat
   Nasik     Maharashtra
   Lucknow   UP

现在这是查询,但这将返回明智的计数列表

SELECT DISTINCT reg_dealer.state,count(*) Count FROM reg_dealer GROUP BY reg_dealer.state order by count(*) desc

我希望孟买市被展示为ROM(马哈拉施特拉邦的其他地区),而其他城市则在马哈拉施特拉邦之下如下所示

   State       Count 
   Delhi       2
   ROM         1
   Gujarat     1
   Maharashtra 1 
   UP          1

1 个答案:

答案 0 :(得分:0)

SELECT CASE 
          WHEN reg_dealer.state = 'Mumbai' THEN 'ROM' 
          ELSE reg_dealer.state 
       END AS state,
       count(*) Count 
FROM reg_dealer 
GROUP BY reg_dealer.state 
order by count(*) desc,
         CASE WHEN reg_dealer.state = 'Mumbai' THEN 0 ELSE 1 END,
         reg_dealer.state