sql - 按字段排序,以字母开头

标签 sql oracle sql-order-by

如何获取按以字母开头的字段排序的记录?

例如,我在一个字段中有以下值:

TABLE: mytable
ROW: myrow
ROW
-----
A
B
C
D

=> 按从字母“C”开始的行排序

我想得到这个查询结果

ROW
-----
C
D
A
B

@sagi 的解决方案

SELECT * FROM mytable
ORDER BY CASE WHEN myrow >= 'C' THEN 1 ELSE 0 END DESC,
     myrow ASC

最佳答案

您可以使用 CASE EXPRESSION 来完成此操作,如下所示:

SELECT * FROM YourTable
ORDER BY CASE WHEN YourColumn >= 'C' THEN 1 ELSE 0 END DESC,
         YourColumn ASC

关于sql - 按字段排序,以字母开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36257430/

相关文章:

java - jsp显示时如何去掉多余的数据

mysql - 在子查询中加入 `greatest-n-per-group` 和 SUM

sql - 使用变量和索引的 T-SQL LIKE

Oracle - v$sql 确定 sql 命令是否已提交

java - JDBC-ORA-00984 : column not allowed here

hadoop级联如何获得前N个元组

mysql - 这些索引之间的 SELECT 查询速度差异 : *UNIQUE(col1, col2)* 与 *FK(col1)、FK(col2)*

mysql - 在父子层次结构中排序

android - 使用 SimpleCursorAdapter 和 SQLite 在 ListView 中反转顺序

oracle - ORA-00917 : missing comma error