我執行這兩個表聯接在MySQL選擇唯一不同的行基於最高時間戳上加入
挑戰表
challenge_ID(int) |to_user(int)|from_user(int)|timestamp
用戶表
iduser(int)|email(string)
我加入查詢此:
Select distinct u.email,c.challenge_id,c.status,c.timestamp from
test.challenges c join test.users u
on
c.to_user=u.iduser
where
c.from_user=9 and (c.status='open' || c.status='rejected')
Order by
c.timestamp DESC
結果我從這個查詢得到的是
email |challenge_id| status |timestamp (Descending)
[email protected] 5 open 2015-12-09 21:20:26
[email protected] 4 open 2015-12-09 21:10:22
[email protected] 1 rejected 2015-12-08 12:27:00
通知[email protected]如何重複兩次,我希望它只是一次顯示和顯示的應該有最新的時間戳即
email |challenge_id| status |timestamp (Descending)
[email protected] 5 open 2015-12-09 21:20:26
[email protected] 4 open 2015-12-09 21:10:22
我以前從來沒有使用可變的,我想了解你給 我跑在我的數據庫查詢,似乎它返回相同的(組電子郵件ID壽),但RN遺體1表示所有行,並返回所有3行s – Snedden27
我發現這很難遵循,因爲我不使用mysql(或RDs)來處理其他基本查詢。我複製粘貼這在我的phpadmin,它給了我一個語法錯誤附近的第一次加入 我想出了一個查詢連接使用子查詢,我已經發布在答案。我沒有太多的測試,但顯然它服務於目的 請讓我知道,如果這不是最有效的方式做到這一點 – Snedden27