sqlin()子句按字母顺序执行列

bq3bfh9z  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(256)

我需要用in()子句执行sql查询,结果集将返回特定列的数据类型。
假设,我有两个列,分别命名为groupid和date。
groupid是textfield,date是datefield。
当我执行下面的命令时,

select data_Type_Name from data_type where displayName in('groupId','date')

首先,它返回date数据类型,然后返回groupid数据类型。
但我的预期结果是groupid数据类型和date数据类型。也就是说,resultset应该根据in()语句中的列名返回。
请提供一个想法来解决这个问题。

tf7tbtn2

tf7tbtn21#

更一般的方法是 field() :

select data_Type_Name
from data_type
where displayName in ('groupId', 'date')
order by field(displayName, 'groupId', 'date');

字母顺序恰好适用于你的特殊情况。但这不是一个普遍的解决办法。

62lalag4

62lalag42#

使用order by子句。将查询更改为:

select data_Type_Name from data_type where displayName in('groupId','date')
ORDER BY displayName desc

相关问题