每个数组元素上的相同SQL查询

时间:2012-03-16 19:33:18

标签: sql arrays where

我正在为我的数据库编写查询,基本上我想查询数据库中每个房间发生的事件。这意味着我想找到1号房间发生的最早事件,以及最早发生在2号房间的事件。

下面我有1个房间执行此查询的代码。此代码仅返回房间2中最早的事件。如何查找房间1的最早事件和房间2的最早事件并在单个查询中返回它?

这将在一个查询中对数组的每个元素执行查询。这是可能的,还是我必须为每个房间写一个查询?

select   name,
         eventtime,
         MIN(eventtime - currenttime) as time_from_test
from     the_table
where    the_table.room = Room1
group by the_table.room
order by time_from_test
limit 1

提前致谢

1 个答案:

答案 0 :(得分:3)

select   the_table.room,MIN(eventtime) as event_start_time_of_day
from     the_table
group by the_table.room;

例如。如果您有5个房间,每个房间有5个活动时间,那么此查询将检索最小活动时间,并通过将所有活动分组到房间级别将其返回给您。