我有一個MySQL表,如下所示:如何編寫一個確保兩列獨立唯一的SQL查詢?
user_id resource_id last_used
--------------------------------
1 1 2010-09-01
1 2 2010-09-02
1 3 2010-09-04
2 3 2010-09-08
2 2 2010-09-03
3 1 2010-09-01
3 1 2010-09-05
我需要編寫一個查詢,告訴我哪些資源上次使用由用戶,每個用戶和每個資源的唯一上市的最多一次(如果某些用戶和某些資源未列出,則可以)。在上述情況下,我想下面的結果集:
user_id resource_id last_used
--------------------------------
2 3 2010-09-08
3 1 2010-09-05
注意,每個用戶ID在出現最多一次,每個資源ID最多出現一次,優選最近last_used日期。我的目的沒關係,用戶1
和資源2
根本沒有出現(雖然如果1 2 2010-09-02
出現在結果中也可以)。該查詢需要在潛在的大型數據庫(500,000多行)上運行。是否有一個簡單,合理的快速查詢在SQL中執行此操作?