我想寫一個SQL查詢,讓我發瘋...限制加入一個結果
我有一個表的建立與列id,緯度,經度。 另一個表列事件,其中包含列id,establish_id,日期。
我想爲每個機構獲得一個單獨的活動,並且更準確地說是最接近的一個活動。現在我有:
SELECT et.latitude, et.longitude, ev.*
FROM establishment et
JOIN event ev ON et.id = ev.establishment_id
WHERE ev.date_event >= CURDATE()
ORDER BY ev.date_event ASC
但是,這給了我完全排列的事件的完整列表。我只需要爲每個企業_id認爲只有一個事件...
你有任何想法,如果有可能嗎?
這是可能的。您需要用一個子查詢替換EVENT,該子查詢每個機構只返回1行WHERE該行被認爲是最接近的 – AgRizzo
如果兩個ev.date_event相等,您希望哪個事件?或者這不會發生? –
GROUP BY沒問題,但沒有告訴我每個機構需要3個最接近的事件,因爲每個機構需要3個第一個遇到的事件。 – lightalex