SQL选择不同的行

时间:2009-03-27 16:31:15

标签: sql

我有这样的数据(col2是Date类型)

| col1 |        col2         |
------------------------------
|  1   | 17/10/2007 07:19:07 |
|  1   | 17/10/2007 07:18:56 |
|  1   | 31/12/2070          |
|  2   | 28/11/2008 15:23:14 |
|  2   | 31/12/2070          |

如何选择col1不同且col2值最大的行。喜欢这个

| col1 |        col2         |
------------------------------
|  1   | 31/12/2070          |
|  2   | 31/12/2070          |

6 个答案:

答案 0 :(得分:16)

SELECT col1, MAX(col2) FROM some_table GROUP BY col1;

答案 1 :(得分:4)

 select col1, max(col2)
 from table
 group by col1

答案 2 :(得分:3)

我估计会是

选择col1,max(col2) 来自DemoTable 按col1分组

除非我错过了一些明显的东西

答案 3 :(得分:3)

select col1, max(col2) from MyTable
group by col1

答案 4 :(得分:2)

SELECT Col1,MAX(Col2)FROM YourTable GROUP BY Col1

答案 5 :(得分:0)

OracleMS SQL

SELECT  *
FROM    (
        SELECT  t.*, ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col2 DESC) rn
        FROM    table t
        ) q
WHERE rn = 1

这将选择其他列以及col1col2