,所以我有這個表:SQL組由一列
ID INITIAL_DATE TAX A 18-02-2012 105 A 19-02-2012 95 A 20-02-2012 105 A 21-02-2012 100 B 18-02-2012 135 B 19-02-2012 150 B 20-02-2012 130 B 21-02-2012 140
和我需要的是,爲每個不同的ID,有史以來最高的稅。如果該TAX出現兩次,我想要INITIAL_DATE最高的記錄。
這是查詢我:
SELECT ID, MAX (initial_date) initial_date, tax FROM t t0 WHERE t0.tax = (SELECT MAX (t1.tax) FROM t t1 WHERE t1.ID = t0.ID GROUP BY ID) GROUP BY ID, tax ORDER BY id, initial_date, tax
,但我願意相信有分組這些記錄的更好的方法。
有什麼辦法可以不按SELECT中的所有列進行分組?
您正在使用什麼RBDMS? – Lamak 2012-02-21 12:55:57
Oracle數據庫10g速成版版本10.2.0.1.0 – Oliveira 2012-02-21 13:46:16