我有一個包含三個字段(item_id,source和price)的表。 (item_id,來源和價格)一起構成主鍵。聚合函數 - 獲取不包含在GROUP BY子句中的列
item_id source price
------- ------- -----
1 paris 13
1 london 12
1 newyork 15
2 paris 22
2 london 15
2 newyork 14
對於每個item_id,我想知道最便宜的地方以及我將在該地點支付的價格。對於上面的例子,我想看看下面的輸出:
item_id source price
------- ------- ---------
1 london 12
2 newyork 14
有一個簡單的辦法做到這一點不提表名兩次?我正在使用MySQL,所以我不能使用WITH子句。
我在另一個用戶的問題(Group related records, but pick certain fields from only the first record)中查看了加入的兩個查詢解決方案,但我真的很想避免提到兩次表。問題是這個問題中的簡單表格實際上代表了我的真實問題中的內嵌視圖,這需要大約5秒的時間才能創建,因此我希望找到替代方案。
啊,我剛纔提到你原來的解決方案會使運行時間加倍,我很高興你提到臨時表。也許臨時表是在MySQL中執行此操作的最佳方式。我希望MySQL能夠像Oracle一樣使用WITH子句! – pcronin 2009-11-14 15:50:26