SQL 中的自定义排序 [英] Customised Ordering in SQL

查看:34
本文介绍了SQL 中的自定义排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像

SELECT column1,column2 
FROM table1 
WHERE column1 IN('q1','q2','q3') 

结果按顺序显示:

q1
q2
q3

如果我将查询更改为

SELECT column1,column2 
FROM table1 
WHERE column1 IN('q3','q1','q2')

顺序保持不变.

如何在sql语句中实现这种排序?

How to achieve this ordering in the sql statement?

帮助!!

谢谢

推荐答案

解决此问题的一种方法是在表中添加一个额外的列,例如名为SortOrder"的列,其中包含确定应以何种顺序返回行的整数.例如,您可以将 q3 的 SortOrder 设置为 1,将 q1 设置为 2,将 q2 设置为 3.您可以使用以下 SELECT 语句按您需要的顺序返回行:

One way to solve this is to add an extra column in your table called for example 'SortOrder' that contains integers determining in which order the rows should be returned. For example, you can set SortOrder to 1 for q3, 2 for q1 and 3 for q2. The you can use the following SELECT statement to return the rows in the order you need:

SELECT column1,column2 
FROM table1 
WHERE column1 IN('q3','q1','q2')
ORDER BY SortOrder

这篇关于SQL 中的自定义排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆