我有兩個表,一個看起來像這樣:MySQL查詢與INNER JOIN,GROUP BY和最大
ID, Datetime, User_ID, Location and Status // the rest is not relevant
和其他看起來像這樣:
ID, Lastname // the rest is not relevant
現在我只想獲得第一個表的每User_ID
最高Datetime
的條目,並要求其他表User_ID
的lastname
。簡單...
我嘗試了這種方式(whick看起來最有前途的,但是是假的nontheless):
SELECT w.Datetime, w.User_ID, w.Status, e.Lastname
FROM worktimes AS w
INNER JOIN employees AS e
ON w.User_ID=e.ID
RIGHT JOIN (SELECT max(Datetime) AS Datetime, User_ID
FROM worktimes
WHERE Datetime>1467583200 AND Location='16'
GROUP BY User_ID
ORDER BY Datetime DESC
) AS v
ON v.User_ID=w.User_ID
GROUP BY w.User_ID
ORDER BY e.Nachname;
可能有人給我一個提示嗎?我真的被困在此有一段時間了,現在我開始得到一些結在我的大腦... :(
怎麼樣,如果你創建了一些數據有點sqlfiddle。以表格的形式顯示您的期望。有人把它敲出來。 – Drew
今天提示:從右連接切換到左連接! (人們通常有足夠的問題,左連接,右連接是這樣較爲混亂......它很容易想到主表左連接可選的數據,不是可選的數據右連接主表。) – jarlh
看,這些人是聰明的多,更有文化。 – Drew