-1

ソース テーブルは次のとおりです。

+----------------------------+
| Col A | Col B |    Col C   |
+-------+--------------------+
|  100  |    1  |  1/2/2012  |
|  100  |    2  |  1/2/2012  |
|  100  |    3  |  1/2/2012  |
|  100  |    1  |  5/2/2012  |
|  100  |    2  |  5/2/2012  |
|  100  |    3  |  5/2/2012  |
+-------+-------+------------+

望ましい結果:

+-----------------------------+
| Col A | Col B  |    Col C   |
+-------+--------+------------+
|  100  |    1   |   5/2/2012 |
|  100  |    2   |   5/2/2012 |
|  100  |    3   |   5/2/2012 |
+-------+--------+------------+

SQL を使用してどのように取得しますか?

私は試した

SELECT * FROM Table A
GROUP BY Col C
HAVING Col C = max(Col C) AND Col A = '100'

しかし、それは機能していないようです。

4

3 に答える 3

1

こんな感じじゃない?

SELECT ColA, ColB, MAX(ColC) ColC
FROM   TableName
GROUP  BY ColA, ColB
于 2013-05-03T16:30:18.897 に答える
0

msアクセスでこれをすばやく実行しました。

SELECT 
 cola, colb, max(colc)
FROM MyTbl
where cola=100
group by cola,colb

ここに画像の説明を入力

于 2013-05-03T16:43:15.593 に答える
0

http://sqlfiddle.com/#!2/7d6f5/6/0

MAX()を使用できます。上記のフィドルを参照してください

SELECT a, b, MAX(c) FROM a GROUP BY a, b
これがあなたのスキーマであるかどうかを考慮してください
CREATE TABLE a( a INT, b INT, c DATE );

于 2013-05-03T16:36:02.217 に答える