首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SQL order by数字和字符串属性

SQL order by数字和字符串属性
EN

Stack Overflow用户
提问于 2013-01-28 09:41:10
回答 1查看 814关注 0票数 0

im所具有的问题是关联一个order by查询,该查询包含数值和日期时间值,并且将对ASC进行排序,并且还具有需要按特定顺序从高到低排序的字符串值。我可以使用case对查询中的优先级本身进行排序,但不能为其他值添加任何其他条件。另一个问题是,排序顺序的选择是在运行时决定的,因此顺序会发生变化。

仅对优先级进行排序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT [Task], [Start Date] AS Start_Date, [End Date] AS End_Date, [Priority], [Time Allowance] AS Time_Allowance, [Details] FROM [schedulerData0]
ORDER BY (CASE Priority
 WHEN 'Very High' Then 1  
 WHEN 'High' Then 2 
 WHEN 'Medium' Then 3 
 WHEN 'Low' Then 4 
 WHEN 'Very Low' Then 5
END)

尝试合并案例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT [Task], [Start Date] AS Start_Date, [End Date] AS End_Date, [Priority], [Time Allowance] AS Time_Allowance, [Details] FROM [schedulerData0]
ORDER BY
-- numeric columns
CASE _orderby WHEN 'Time_Allowance' THEN Time_Allowance END ASC;
-- string columns
CASE _orderby Priority
 WHEN Priority = 'Very High' THEN 1,
 WHEN Priority = 'High' THEN 2,
 WHEN Priority = 'Medium' THEN 3,
 WHEN Priority = 'Low' THEN 4,
 WHEN Priority = 'Very Low' THEN 5;
-- datetime columns
CASE _orderby WHEN 'Start_Date' THEN Start_Date END ASC,
CASE _orderby WHEN 'End_Date' THEN End_Date END DESC;
END

当前有以下语句,属性由第一次选择、第二次选择和第三次选择声明。因为这将对所有数字数据进行排序,但按字母顺序排序优先级。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT [Task], [Start Date] AS Start_Date, [End Date] AS End_Date, [Priority], [Time Allowance] AS Time_Allowance, [Details] FROM [schedulerData0] ORDER BY [" + firstSelect + "], [" + secondSelect + "], [" + thirdSelect + "]"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-28 09:52:54

尝尝这个。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT [Task], [Start Date] AS Start_Date, [End Date] AS End_Date, [Priority], [Time     Allowance] AS Time_Allowance, [Details] FROM [schedulerData0]
ORDER BY (CASE Priority
  WHEN 'Very High' Then 1  
  WHEN 'High' Then 2 
  WHEN 'Medium' Then 3 
  WHEN 'Low' Then 4 
  WHEN 'Very Low' Then 5
END), [Start Date] ASC, [End Date] DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14559207

复制
相关文章
sql order by,desc和limit使用(mysql)
在此我们要进行排序,按降序排序,就是从大到小。然后我们只要查询前2条数据。 意思就是我们需要把这个表从大到小排序后,取前两条,那么我们就需要使用到order by 和desc 和limit。
1_bit
2021/01/14
3.6K0
sql order by,desc和limit使用(mysql)
SQL基础【七、Order by】
SELECT * FROM user order by user_id ASC,user_age DESC
红目香薰
2022/11/28
2860
SQL order by的用法
    首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句。
拓荒者
2019/03/15
8040
SQL命令 ORDER BY(一)
ORDER BY子句根据指定列的数据值或以逗号分隔的列序列对查询结果集中的记录进行排序。 该语句对单个结果集进行操作,这些结果集要么来自SELECT语句,要么来自多个SELECT语句的UNION。
用户7741497
2022/05/06
2.6K0
SQL 从字符串中提取数字
mix 表有一个 varchar 类型的字段 v,该字段的允许长度只有 15 位,但它存储的数据比较混杂。
白日梦想家
2020/12/14
2.5K0
SQL ORDER BY 关键字
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。
子润先生
2021/07/01
3620
BI-SQL丨ORDER BY
ORDER BY语句,在SQL中通常可以用来作为查询结果的排序依据。当然在PowerBI的DAX语法中也有ORDER BY,只不过通常是与EVALUATE语句搭配使用。
PowerBI丨白茶
2021/09/04
5390
BI-SQL丨ORDER BY
mysql:深究 sql 默认排序 order by
群友问:请教一个问题,mysql 默认排序问题,当sql 语句 的排序没有指定 主键(id)的时候是按着什么规则排序的呢?
Lenis
2019/12/25
4.4K0
mysql:深究 sql 默认排序 order by
Sql--order by、desc降序、top
--现根据英语成绩排序,再根据数学成绩排序(先按照英语成绩排序,当英语成绩相同的时候再按照数学成绩排序)
拓荒者
2019/03/15
1.6K0
SQL拆分多规则的字符串分离数字。
--拆分多规则字符串 DECLARE @Codes NVARCHAR(MAX) SET @Codes = '6*BC-007,*BC-016,9*BC-015' --对于*BC-015这种情况,则Qty设置为1 SELECT * FROM dbo.fun_split(@Codes, ',') SELECT (CASE WHEN CHARINDEX('*', sp.SplitValue) > 0 THEN SUBSTRING(sp.SplitValue, CHARIN
跟着阿笨一起玩NET
2018/09/19
1.5K0
【说站】css中order属性的介绍
2、order属性用于提供有关弹性容器中其他弹性项目的每个弹性项目的顺序。 如果商品不灵活,那么order属性将毫无用处。
很酷的站长
2022/11/24
1.1K0
【说站】css中order属性的介绍
oracle sql 字符串拼接_mysql将字符串和数字拼接
在Java中我们通常用加号”+”来实现字符串的拼接,MySQL中也可以使用”+”来实现,比如:
全栈程序员站长
2022/09/27
3.4K0
oracle sql 字符串拼接_mysql将字符串和数字拼接
collectors.groupingby属性分组_group by having order by
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171407.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/23
7710
collectors.groupingby属性分组_group by having order by
python数字和字符串对象
    通过int(1L) 转换成整型,float(1) 转换成浮点型,long(1) 转换长整型
py3study
2020/01/09
1.3K0
SAP HANA SQL GROUP BY / ORDER BY / OVER / CASE
简单举例 select name, score1, score2, nextscore1, case when ((nextscore1 IS NOT NULL) AND (score1 - nextscore1 < 0.1)) then score2 else score1 end score_sort1, case when (nextscore1 IS NOT NULL) AND (score1
matinal
2020/11/27
1.1K0
sql语句日期_sql中字符串和变量拼接
转载于:https://www.cnblogs.com/hoge66/p/11198213.html
全栈程序员站长
2022/11/09
1.2K0
Python数字和字符串学习笔记
其中数字、字符串、元组是不可变的,列表、字典是可变的。 对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其他变量引用原有对象的话(即引用计数为0),原有对象就会被回收)。
没有故事的陈师傅
2019/07/27
1.9K0
每日一博 - 闲聊SQL Query Execution Order
需要注意的是,查询的执行顺序可能会因查询的复杂性、索引的存在与否、表的大小以及其他因素而有所不同。MySQL的查询优化器会尽力选择最佳的执行计划,以提高查询性能。同时,可以使用EXPLAIN语句来查看MySQL执行查询时选择的执行计划,以帮助调优查询性能。
小小工匠
2023/09/13
2630
每日一博 - 闲聊SQL Query Execution Order
点击加载更多

相似问题

SQL ORDER BY带数字的字符串

30

SQL ORACLE order by数字ans字符串

242

SQL ORDER BY数字困境

30

SQL Order by字符串,数字显示在最后

213

Sql order by字符串和int

375
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文