源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

mysql指定某行或者某列的排序实现方法

  • 时间:2022-03-09 20:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:mysql指定某行或者某列的排序实现方法
[img]http://files.jb51.net/file_images/article/201705/2017052015283514.png[/img] 方法: 通过desc: [img]http://files.jb51.net/file_images/article/201705/2017052015283515.png[/img] [img]http://files.jb51.net/file_images/article/201705/2017052015283516.png[/img] 都无法实现: 方法一: [img]http://files.jb51.net/file_images/article/201705/2017052015283617.png[/img]
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)
方法二: [img]http://files.jb51.net/file_images/article/201705/2017052015283618.png[/img] 核心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 的靠前排
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部