msql字段执行顺序图(MYSQL先按第一个字段排序,若相同再按第二个字段排序,如何实现)

本文目录
MYSQL先按第一个字段排序,若相同再按第二个字段排序,如何实现
先建个测试表
MySql order by 多字段排序
结果很明显:单一字段排序的时候,其他字段出现的顺序是自然排序的
:backhand_index_pointing_down::backhand_index_pointing_down::backhand_index_pointing_down::backhand_index_pointing_down::backhand_index_pointing_down::backhand_index_pointing_down::backhand_index_pointing_down:下面为正确的使用
对比code,name的单个字段降序排序,我们可以发现, 使用 order by code desc, name desc的时候,MySQL会先以code进行降序排序,在code进行降序排序该基础上,再使用name进行降序排序。
最后:
order by concat(code, name) desc的效果等同于 order by code desc, name desc
关于mysql排序
在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。这时可以通过ORDER BY子句来实现这个功能。语法如下:
SELECT 《*,column ,...》 FROM table
;
默认是ASC指定的升序排列,DESC用来指定降序排列。
1、升序排序:
使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:
2、降序排序:
当需要查询结果降序排列时,必须在排序后指定DESC关键字。如下图是查看职员薪水的降序排列:
如何调整字定义字段排列的顺序
创建数据表的时候,字段在表中的排列位置就已经确定了。不过,使用ALTER TABLE语句可以改变字段在表中的排列位置。
在MySQL中,修改字段排列位置的基本语法格式如下:
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2;
其中:
•字段名1:表示需要修改位置的字段的名称。
•数据类型:表示“字段名1”的数据类型。
•FIRST:指定位置为表的第一个位置。
•AFTER 字段名2:指定“字段名1”插入在“字段名2”之后。
MySQL字段修改到第一个位置
FIRST参数可以指定字段为表的第一个字段。
实例:将baike369表中的stu_name字段修改为该表的第一个字段。操作步骤如下:
1. 使用DESC语句查看baike369表的结构,以查看stu_name字段的排列位置。如下图所示:
查看stu_name字段的排列位置
mysql中怎么样指定某行或者某列的排序实现方法分析(图)
这篇文章主要介绍了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,30province =10106000 的 靠前排,在province = 10106000 中 city=10106001 的靠前排

更多文章:
listen to the music(listen to the music 和 listen to music哪个对)
2026年7月1日 14:15
find 命令详解(linux使用find命令查找文件中a到c开头的字符)
2025年7月26日 12:30
c语言strcat用法(c语言指针实现字符拼接函数strcat)
2025年10月4日 12:30
preference中文(do you have a preference)
2025年6月21日 05:45
coaster(杯垫英语 coaster与cupmat有区别吗)
2025年8月27日 08:15
javascript期末考试(javascript实现学生考试成绩的录入,找出成绩中最高分求代码)
2026年2月18日 09:30
idea后面加to(it’s a good idea后面加什么)
2026年5月4日 14:15
kemperor什么意思(king和emperor有什么不同)
2025年10月14日 22:45
美国参议院就针对特朗(美国和日本的地理环境对其经济贸易活动的影响)
2026年3月5日 09:45















