3
中我有一個用戶表像這樣SQL:獲得第N項每組
user_id | community_id | registration_date
--------------------------------------------
1 | 1 | 2008-01-01
2 | 1 | 2008-05-01
3 | 2 | 2008-01-28
4 | 2 | 2008-07-22
5 | 3 | 2008-01-11
對於每一個社區,我想獲得的第三個用戶註冊的時間。我可以使用MySql的「限制」SQL擴展輕鬆地爲單個社區做到這一點。例如,對於社區ID = 2
select registration_date
from user
order by registration_date
where community_id = 2
limit 2, 1
或者,我可以得到第一個用戶註冊通過所有社區日期:
select community_id, min(registration_date)
from user
group by 1
但我無法弄清楚如何獲得第三位用戶的註冊日期爲所有社區在一個SQL語句中。
乾杯, 唐
這不起作用,因爲內部選擇可能會返回多個值。我使用的MySql版本不允許在內部選擇中使用LIMIT,所以我不能簡單地用「IN」替換「=」 – 2009-01-20 19:44:17
啊,是的,老版本的MySQL可以是與之合作的痛苦。如果您無法限制內部選擇,我不確定您可以做什麼。 – 2009-01-20 20:54:46