Mysql中如何指定顺序排序查询
小编给大家分享一下Mysql中如何指定顺序排序查询,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
实例如下
前端主要用Vue框架,要求后端数据在前端展示,
第一:进厂,出厂指标不固定(可能6,也可能以后7,8个);
第二:无“数值”值的用斜杠代替;
第三:进出厂指标名字一定要符合如上图指定的名字(后端数据库查询出来的名字和前端指定的名字不一样,以及单位中带有 ">1",">0.3"之类的,所以不能直接从后端查询 ,名字+单位 放在前端,需要自己处理);第四:要求后端数据传输过来的顺序必须时前端指定顺序。反正要求就是,前端只需要循环出数据就好,后端搞定其余的一切需求。
有两张表:table_a,table_b
第一步:按照table_a.id=table_b.ids 合成一张表
sql语句:SELECT * FROM (SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.ids)A ,把下划线部分作为新的一张表 A
第二步:发现数据库中没有小白龙和沙悟净,需要添加上:
sql语句:
SELECT*FROM(SELECT*FROMtable_aaINNERJOINtable_bbONa.id=b.idsUNIONALLSELECT8id,'白龙马'`name`,'小白'sname,'1000'age,8ids,27`value`UNIONALLSELECT9id,'沙悟净'`name`,'卷帘将军'sname,'2000'age,9ids,289`value`)A
划线部分在于添加部分缺失数据,有时用于前端固定展示需要。
第三步:请按照 唐僧,孙悟空,猪八戒,沙悟净,小白龙,春花,王五,赵六,唐七这个顺序排序
sql语句:
SELECT*FROM(SELECT*FROMtable_aaINNERJOINtable_bbONa.id=b.idsUNIONALLSELECT8id,'白龙马'`name`,'小白'sname,'1000'age,8ids,27`value`UNIONALLSELECT9id,'沙悟净'`name`,'卷帘将军'sname,'2000'age,9ids,289`value`)A INNERJOIN(SELECT7ids,1`order`UNIONALLSELECT2ids,2`order`UNIONALLSELECT4ids,3`order`UNIONALLSELECT9ids,4`order`UNIONALLSELECT8ids,5`order`UNIONALLSELECT6ids,6`order`UNIONALLSELECT1ids,7`order`UNIONALLSELECT5ids,8`order`UNIONALLSELECT3ids,9`order`)BONB.ids=A.idORDERBYB.order
划线部分的这类语句是 给整个A表添加了两个字段,再达到按照指定方式达到固定排序的目的;同时也可以增加字段达到其他想要的目的。
以上是“Mysql中如何指定顺序排序查询”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。