0
我編寫了一個查詢,使我可以使用groupwise max方法獲取最近的房間。但是,我如何爲多列進行分組最大值?Groupwise Max多列
我有下面的查詢,其中子查詢給我最近的房間,然後加入他們與主表。現在我想挑選下一個將要發生的第一個事件。
例:MIN(DATEDIFF(日,NOW()))> 0
SELECT name, date, t1.Room, descr, t1.D
FROM Events
JOIN
(
SELECT Roomid, Room, Latitude, Longitude,
ACOS(SIN((:lat))*SIN(RADIANS(Latitude)) + COS((:lat))*COS(RADIANS(Latitude))*COS(RADIANS(Longitude)-(:lon)))*(:R) AS D
FROM Rooms
WHERE Latitude>(:minLat) AND Latitude<(:maxLat)
AND Longitude>(:minLon) AND Longitude<(:maxLon)
AND ACOS(SIN((:lat))*SIN(RADIANS(Latitude)) + COS((:lat))*COS(RADIANS(Latitude))*COS(RADIANS(Longitude)-(:lon)))*(:R) < (:rad)
) AS t1 ON Events.roomid = t1.Roomid
GROUP BY Room
ORDER BY D
有人可以給我如何做到這一點的任何指針?
謝謝!
P.S:事件應該是下一個發生的事件。我不使用ABS(MIN()),因爲它會返回已經發生的事件。
d是距離,我想d – maknelly 2012-03-23 00:35:22
哦,我的錯誤,也都是會發生的一個事件,然後順序,那麼就在我的例子中使用'date'而不是'D'。這是不是讓你想要什麼? – 2012-03-23 00:38:39
,它會命令它只購買我認爲的日期。我也想讓它按D排列。那可能嗎? 此外,這將返回已經發生的日期是正確的? – maknelly 2012-03-23 00:41:01