mysql中怎么样指定某行或者某列的排序实现方法分析(图)

黄舟
发布: 2017-05-21 09:17:03
原创
1568 人浏览过

这篇文章主要介绍了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<>&#39;10106000&#39; , m.city<>&#39;10106001&#39; ,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中怎么样指定某行或者某列的排序实现方法分析(图)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!