我有一個嵌套查詢問題(beeing我不知道該怎麼做的問題) 我使用PostgreSQLSQL查詢,在連接表
濾波基於最後一個值我有2個表:
users
id name
1 x
2 y
3 z
call
id user_id time data
1 1 00:10 stat1
2 1 00:15 stat2
3 3 00:10 stat2
4 3 00:30 stat1
5 3 00:45 stat2
6 3 00:50 stat3
什麼,我需要得到的是一個選擇的用戶,但只有當他們最後一次通話是STAT2。我遇到的問題是我不知道如何獲取最新的數據。
我的查詢:
SELECT users.*, call.* FROM users, call WHERE users.id=call.user_id AND call.id IN (SELECT id FROM call WHERE call.data='stat2') ORDER BY users.id
我所得到的與那就是:
users
id name id user_id time data
1 x 2 1 00:15 stat2
3 z 3 3 00:10 stat2
3 z 5 3 00:45 stat2
什麼,我需要得到是:
users
id name id user_id time data
1 x 1 1 00:15 stat2
3不應該顯示爲它的最後一個值是stat3(顯然不應該加倍,因爲我有2個統計數據。)
我可以用多個查詢做到這一點,但我想這樣做在1
感謝
爲什麼在上面的所有行中都有'id' 1?是'id'自動增量,這只是你的例子中的一個錯誤? –
是的。這不是我正在使用的實際表格,所以我在這裏寫了它以更好地顯示問題。它應該是自動增量。通過編輯修正 – darthzejdr