SQL查询按指定字段排序-创新互联

city_name是字段名,现在要按("北京","上海","广州")   先后顺序把数据查询统计出来?

不知道你什么数据库, 假如是 Oracle:

select   
  count(city_name),
  city_name 
from   
  tuan_info   
where 
  source_type  = 1 
  and  city_name in("北京","上海","广州")   
group    by 
  city_name
ORDER BY
  INSTR('北京,上海,广州', city_name);

如果是 SQL Server 用
ORDER BY CHARINDEX(city_name, '北京,上海,广州')

追问

景洪网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司
是SQL Server 的,怎么写哦,给个完整点的语句好吗

回答

select   
  count(city_name),
  city_name 
from   
  tuan_info   
where 
  source_type  = 1 
  and  city_name in("北京","上海","广州")   
group    by 
  city_name
ORDER BY CHARINDEX(city_name, '北京,上海,广州')

前面的SQL都是一样的啊。
只是 增加一个  ORDER BY 的排序处理。

追问

在吗,不行的,提示有错啊,是什么问题哦
[SQL] select count(city_name), city_name from tuan_info where source_type  = 1 and  city_name in("北京","上海","广州") group by city_name ORDER BY CHARINDEX(city_name, '北京,上海,广州');
[Err] 1305 - FUNCTION data_group.CHARINDEX does not exist

回答

你这个是什么数据库啊?

CHARINDEX  是 SQL Server 自带的函数啊。

追问

那个,,是MYSQL的哦,怎办

回答

MySQL  就换一个函数   INSTR

select   
  count(city_name),
  city_name 
from   
  tuan_info   
where 
  source_type  = 1 
  and  city_name in("北京","上海","广州")   
group    by 
  city_name
ORDER BY INSTR( '北京,上海,广州',   city_name)


另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:SQL查询按指定字段排序-创新互联
分享链接:http://scyanting.com/article/decsig.html