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

时间:2018-04-23 08:02:34

标签: mysql sql database

我需要使用IN()子句执行SQL查询,resultSet将返回特定列的dataType。

假设我有两列名为 groupId 日期

groupId textField 日期 dateField

当我执行以下命令时,

 // Request number of numbers for range
 printf ("Enter the number of integers and positives you want to add \ n");
 scanf ("% d", & n);

 // Quit the numbers and check if they are positive
 printf ("Enter% d integers and positive numbers \ n, n);
 for (c = 1; c <= n; c ++) {
 do{
 printf ("Please enter a positive number");
 scanf ("% d", & value);
 }
 while (value <0);

 scanf ("% d",% value);
 }

首先,它返回日期dataType,然后返回groupId dataType。

但我的预期结果是groupId dataType和date dataType。这意味着,resultSet应该根据IN()语句中的列名返回。

请提供解决此方案的想法。

2 个答案:

答案 0 :(得分:1)

使用ORDER BY子句。将您的查询更改为:

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

答案 1 :(得分:0)

更通用的方法是使用field()

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

字母顺序恰好适用于您的特定情况。但这不是一般解决方案。