我有一张从更大的表派生的临时表。在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)。 –