如何在sql IN语句中获取字符串中每个条目的最小值?

时间:2014-09-24 07:12:13

标签: mysql sql

我正在尝试获取每个字符串元素的最小值,但我总是得到查询sql后得到的所有值的最小值。

QUERY

SELECT `assigned_to`,`appointment_lat`,`appointment_long`,`appointment_time` 
FROM `tb_schedules` 
WHERE `assigned_to` IN (26,27) 
AND ( appointment_time>'2014-09-23 07:33:00' ) 
GROUP BY `assigned_to` 
ORDER BY (DATEDIFF('2014-09-23 07:33:00',`appointment_time`)) 
LIMIT 1

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您希望下一个约会为每个列出的ID:

SELECT * FROM (
SELECT `assigned_to`,`appointment_lat`,`appointment_long`,`appointment_time` 
FROM `tb_schedules` 
WHERE `assigned_to` IN (26,27) 
AND appointment_time> now()
ORDER BY 4) x
GROUP BY `assigned_to`

此查询使用了mysql的非标准分组功能,如果您没有指定所有非聚合列,则会为每个唯一的分组值选择一行 - 根据对于文档而言,它是一个随机行,但实际上它是可靠的第一个行,因此在分组之前排序会为您提供可预测的行。