0

私はこれを検索しようとしましたが、正直なところ、何を検索すればよいか正確にはわかりません...以前に尋ねられた場合は、しばらくお待ちください.

次のようなイベントのリストを含むテーブルがあります。

Date      Event 
-----     ------
1/1/2012  Event1
1/2/2012  Event1
1/4/2012  Event2
1/6/2012  Event1
etc.

私がやろうとしているのは、このテーブルで選択を行い、発生した最新の日付とEvent1発生した最新の日付の両方を返すことEvent2です。上記の表を例として使用すると、次の結果が表示されます。

Event 1      Event2
-------      ------
1/6/2012     1/4/2012

これを達成する方法についてのアイデアはありますか? これらの値を個別に取得する方法を知っています

SELECT max(date) FROM table WHERE Event LIKE 'Event1'

1つの結果として一緒ではありません。

4

2 に答える 2

3

CASE関数でステートメントを使用できますMAX()

SELECT MAX(CASE WHEN event = 'Event1' THEN date END) Event1, 
    MAX(CASE WHEN event = 'Event2' THEN date END) Event2
FROM yourTable

デモで SQL Fiddle を参照してください

于 2012-08-16T12:53:58.173 に答える
0

event列 の任意の値に対して次のクエリを試してください。

select MAX(date), event
from events_table
group by event;
于 2012-08-16T12:58:54.207 に答える