id | field_1 | field_2
1 | a | 1
2 | b | 1
SELECT id, field_1 FROM table GROUP BY field_2
這將得到id = 1的行,我如何獲得具有最大id的行? (我想獲得field_1 = b)。這是實現這個最簡單的方法嗎?當分組sql時選擇行
感謝您的幫助!
id | field_1 | field_2
1 | a | 1
2 | b | 1
SELECT id, field_1 FROM table GROUP BY field_2
這將得到id = 1的行,我如何獲得具有最大id的行? (我想獲得field_1 = b)。這是實現這個最簡單的方法嗎?當分組sql時選擇行
感謝您的幫助!
這種表達不不定義得到的第一行:
SELECT id, field_1
FROM table
GROUP BY field_2
它所做的是從任意行獲取值的field2
每個值。任意行可能是第一行,但沒有保證。瞭解這一點,請查看documentation隱藏列。
在MySQL中,你需要一個連接來獲得最高id的行。以下是一種方法:
select t.*
from t
where id = (select max(id) from t t2 where t2.field2 = t.field2)
這將爲field2的每個值提取最高id的所有行。
謝謝,很好解釋。 – lawls
另請參見:http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html –