我有一張從更大的表派生的臨時表。在MySQL中使用語句分組後選擇相應的非聚合列
+-----+----------+---------+
| id | phone | attempt |
+-----+----------+---------+
| 1 | 12345678 | 15 |
| 2 | 87654321 | 0 |
| 4 | 12345678 | 16 |
| 5 | 12345678 | 14 |
| 10 | 87654321 | 1 |
| 11 | 87654321 | 2 |
+-----+----------+---------+
我需要找到對應於每個電話號碼上進行的最高嘗試的id(唯一)。電話和嘗試不是唯一的。
SELECT id, MAX(attempt) FROM temp2 GROUP BY phone
上述查詢不返回對應的最大嘗試的id。
說ERROR 1137(HY000):不能重新打開表: 'T'。我也很早就遇到了這個問題。原來,這是因爲這是臨時表 – PrashanD
[您不能多次訪問臨時表](http://stackoverflow.com/questions/343402/getting-around-mysql-cant-reopen-table-error)。請勿使用臨時表,改爲創建視圖或其他表。上述和Tim的解決方案是解決這個問題的方法。 – GurV
在這裏,有一個[小提琴](http://sqlfiddle.com/#!9/71953/5)。 –