mysql指定某行或者某列的排序实现方法
2019/6/30 18:18:49
本文主要是介绍mysql指定某行或者某列的排序实现方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
方法:
通过desc:
都无法实现:
方法一:
select sp.productid,sp.productname,ss.sku from sp_product sp inner join sku_skus ss on sp.productid=ss.productid where sp.productname='力士恒久嫩肤娇肤香皂115g' or sp.productname='佳洁士(Crest) 绿茶薄荷牙膏180克' or sp.productname='心味果园 兰花豆 190g/袋 1袋 炒货豆制品休闲零食' order by ( case when sp.productid=11042723 then 1 ELSE 2 END)
方法二:
核心sql
select sp.productid,sp.productname,ss.sku from sp_product sp inner join sku_skus ss on sp.productid=ss.productid where sp.productname='力士恒久嫩肤娇肤香皂115g' or sp.productname='佳洁士(Crest) 绿茶薄荷牙膏180克' or sp.productname='心味果园 兰花豆 190g/袋 1袋 炒货豆制品休闲零食' ORDER BY sp.productid not in(11042723)
Mysql:把指定数据行排在前面
如果只是一条数据行,可以这样:
SELECT * FROM user ORDER BY user_id<>7,score DESC;
主要是“user_id<>7”,就会把用户id为7的排在前面。
如果是多条数据行:
SELECT * FROM user ORDER BY user_id NOT IN(7,8,9),score DESC;
mysql 某列指定值靠前排序
单个列靠前排序:
mysql 某列指定值靠前排序 order by case
SELECT * FROM `jcxsw`.`t_company_product` order by ( case when id=263 then 1 ELSE 4 END),category_id desc;
这段sql代码 会先排列id =263的额数据 然后 根据category_id倒叙
多个列靠前排序:
SELECT * FROM `web_membersfastsort_women` m order by m.province<>'10106000' , m.city<>'10106001' ,m.city desc,m.province desc,m.s_cid asc, m.images_ischeck desc,m.pic_num desc limit 2000,30
province =10106000 的 靠前排,在province = 10106000 中 city=10106001 的靠前排
这篇关于mysql指定某行或者某列的排序实现方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程