• 售前

  • 售后

热门帖子
入门百科

mysql指定某行大概某列的排序实现方法

[复制链接]
123457732 显示全部楼层 发表于 2021-10-25 19:51:11 |阅读模式 打印 上一主题 下一主题

方法:
通过desc:


都无法实现:
方法一:
  1. select sp.productid,sp.productname,ss.sku from sp_product sp inner join sku_skus ss on sp.productid=ss.productid
  2. where sp.productname='力士恒久嫩肤娇肤香皂115g'
  3. or sp.productname='佳洁士(Crest) 绿茶薄荷牙膏180克'
  4. or sp.productname='心味果园 兰花豆 190g/袋 1袋 炒货豆制品休闲零食' order by (
  5. case when sp.productid=11042723 then 1 ELSE 2 END)
复制代码
方法二:

核心sql
  1. select sp.productid,sp.productname,ss.sku from sp_product sp inner join sku_skus ss on sp.productid=ss.productid
  2. where sp.productname='力士恒久嫩肤娇肤香皂115g'
  3. or sp.productname='佳洁士(Crest) 绿茶薄荷牙膏180克'
  4. or sp.productname='心味果园 兰花豆 190g/袋 1袋 炒货豆制品休闲零食' ORDER BY sp.productid not in(11042723)
复制代码
Mysql:把指定命据行排在前面

假如只是一条数据行,可以这样:
  1. SELECT * FROM user ORDER BY user_id<>7,score DESC;  
复制代码
重要是“user_id<>7”,就会把用户id为7的排在前面。

假如是多条数据行:
  1. SELECT * FROM user ORDER BY user_id NOT IN(7,8,9),score DESC;
复制代码
mysql 某列指定值靠前排序

单个列靠前排序:
mysql 某列指定值靠前排序  order by case
  1. SELECT * FROM `jcxsw`.`t_company_product` order by (
  2. case when id=263 then 1 ELSE 4 END),category_id desc;
复制代码
这段sql代码 会先排列id =263的额数据 然后 根据category_id倒叙

多个列靠前排序:
  1. SELECT * FROM `web_membersfastsort_women` m order by
  2. m.province<>'10106000' , m.city<>'10106001' ,m.city desc,m.province
  3. desc,m.s_cid asc, m.images_ischeck desc,m.pic_num desc limit 2000,30
复制代码
province =10106000 的 靠前排,在province = 10106000 中   city=10106001 的靠前排

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作