• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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中将一列以逗号分隔的值行转列的实现
    • 当Mysql行锁遇到复合主键与多列索引详解
    • Mysql 相邻两行记录某列的差值方法
    • mysql 列转行,合并字段的方法(必看)
    • mysql列转行以及年月分组实例
    • mysql 列转行的技巧(分享)
    • mysql 行转列和列转行实例详解
    • mysql 行列动态转换的实现(列联表,交叉表)
    • 数据库实现行列转换(mysql示例)
    • MySQL 中行转列的方法
    上一篇:MySQL日志设置及查看方法
    下一篇:查找MySQL中查询慢的SQL语句方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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