【发布时间】:2016-10-18 10:33:35
【问题描述】:
我有两列名为priority 和state:
-
priority列将仅包含字段值:urgent和normal。 -
state列将仅包含字段值:wait、executed和done。
我正在尝试使用我的 dataset CommandText 属性对这些数据进行排序,因此连接到数据集的 dbgrid 按我在此处设置的排序顺序显示数据。
排序顺序应该是这样的:
-
priority列中包含urgent的行应启动 DBGrid 列表。 - 然后该列表应继续在
priority列中标记为normal的列表,
-
- 紧随其后的是
state列中标记为wait的那些, - 后面是
state列中标记为executed的那些, - 最后,列表以
state列中标记为done的列表结束。
- 紧随其后的是
我不知道如何为此编写 SQL 语句,所以我可以在数据集的 CommantText 属性中使用它。
我目前正在使用这个:
SELECT *
FROM table_name
ORDER BY FIELD(column_name, "normal", "urgent") DESC
这适用于第一列priority,但不考虑第二列state。
【问题讨论】:
标签: mysql sql delphi sql-order-by dbgrid