Sql order by 数据排序 优先级问题

前几天学习T-SQL ,在介绍Order By 排序的时候,突然想到多字段排序的时候优先级是按什么顺序排的,我便上机操作了一下,写此笔记,帮助记忆,也希望能帮到其他人。

select * from 表 order by 字段1, 字段2 desc ; 他是先按 字段1 去排序,再此基础下,再按 字段2 排序,可以简单记忆为 就近原则 

引用\[1\]:在SQL语句中,字段的筛选优先级可以通过使用不同的关键字来实现。例如,使用SELECT语句可以选择要返回的字段,而使用WHERE子句可以对记录进行筛选。GROUP BY子句用于对结果进行分组,而HAVING子句用于对分组后的结果进行二次筛选。\[1\]引用\[2\]:在SQL语句中,单表查询的优先级顺序是:FROM > WHERE > GROUP BY > HAVING > SELECT > DISTINCT > ORDER BY > LIMIT。这意味着FROM子句的优先级最高,而LIMIT子句的优先级最低。\[2\]引用\[3\]:如果需要对数据进行优先级排序,可以使用SQL函数Field()。该函数可以指定元素的升序或降序。例如,使用ORDER BY Field(CustStoreId,'CS00068','CS00099', 'CS00000')可以按照指定的顺序对CustStoreId字段进行排序。\[3\] 所以,SQL筛选数据字段优先级顺序是:FROM > WHERE > GROUP BY > HAVING > SELECT > DISTINCT > ORDER BY > LIMIT。如果需要对特定字段进行优先级排序,可以使用Field()函数来实现。 #### 引用[.reference_title] - *1* *2* [sql语句单表查询优先级及使用方法](https://blog.csdn.net/Since_I_was_32/article/details/116050357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [sql Field()函数 排序数据数据优先级](https://blog.csdn.net/weixin_46484674/article/details/126418337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值