[英]Sort by field values from 2 columns - mysql - delphi - dbgrid
我有两列名为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
。
你很亲近。 您只需要按以下order by
第二个键:
SELECT *
FROM table_name
ORDER BY FIELD(priority, 'urgent', 'normal'),
FIELD(state, 'wait', 'executed', 'done')
笔记:
DESC
。 您正在使用field()
,因此请按正确的顺序排列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.