2012-03-16 79 views
1

我正在爲我的數據庫編寫查詢,基本上我想查詢數據庫以查看每個房間發生的事件。這意味着我想要查找發生在房間1中的最早事件,並在房間2中發生最早事件。每個數組元素上的相同SQL查詢

下面我有執行此查詢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 

在此先感謝

+0

你的分組按列r與select子句不匹配... – Teja 2012-03-16 19:34:36

回答

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

對於如。如果你有5個房間,每個房間有5個事件時間,那麼這個查詢將檢索最小事件時間,並通過將所有事件分組到房間級別來返回給你。

+0

爲了獲得更多的信息(比如the_table.name),你可以再次回到the_table,我想。 – Dave 2012-03-16 19:41:26

+0

是的..爲獲取其他信息,我可以加入同一張桌子上的房間,並得到它... – Teja 2012-03-16 19:42:14

+0

嗨Venk,如果我從另一個表中獲取房間?我如何從我從另一個表中選擇的房間中查找當前表格中的最早事件? 基本上,我在另一個表中找到房間並使用當前表作爲事件的查找表 – maknelly 2012-03-16 20:41:00

相關問題