sql - 按列排序表,但如果为0,则忽略-SQLite

标签 sql sqlite

我有一列称为my_order。默认为0。我想在我的查询中这样做:

ORDER BY my_order (IF NOT 0)

因此,如果列的数据具有0, 0, 0, 2, 0, 1,它将采用1, 2, 0, 0, 0, 0,(忽略零)。

显然,最后一部分是不正确的。我将如何在SQLite中执行此操作?

我最初的两个怀疑是僵尸或案子。

最佳答案

您可以像这样使用CASE:

SELECT * FROM tbl
ORDER BY CASE WHEN my_order = 0 THEN 1 ELSE 0 END,
my_order

关于sql - 按列排序表,但如果为0,则忽略-SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373789/

相关文章:

java - 每次我重新启动 Activity 时,ListView 都会重复项目

mysql - 如何复制sql查询中的特定列

swift - 核心数据 - 为什么我的 NSPredicate 没有产生正确的 SQL 查询?

mysql - 选择多个图像 URL 并按行加载

mysql - 如何获取产品名称、数量和余额?

SQLite CASE/WHEN 语句

c# - 如何在Sqlite中使用通配符匹配目录路径

ios - 从SQLite提取数据并且只想获取列ID的最后一个值

java - Oracle SQL 偏移行数

java - 如何从 XML 文件中读取数据并将其存储到数据库 (MySQL)?