私はテーブルを持っている:ヘルプ
ID Title Date
30 1 10/10/2010
20 1 10/11/2010
40 2 01/01/2010
私は最大の日付との明確なタイトルを選択するための方法が必要です。
タイトルが1のときは、1行目の日付が2行目の日付よりも小さいので、2行目を選択する必要があります。結果として
クエリが返す必要があります:
20 1 10/11/2010
40 2 01/01/2010
私はテーブルを持っている:ヘルプ
ID Title Date
30 1 10/10/2010
20 1 10/11/2010
40 2 01/01/2010
私は最大の日付との明確なタイトルを選択するための方法が必要です。
タイトルが1のときは、1行目の日付が2行目の日付よりも小さいので、2行目を選択する必要があります。結果として
クエリが返す必要があります:
20 1 10/11/2010
40 2 01/01/2010
あなたのデータセットが不明であるトリックを行う必要があります。あなたは最小のIDと最大の日付をしたいですか?
SELECT ID=MIN(ID), Title, [Date] = MAX([Date])
FROM Table
GROUP By Title
これはタイプミスで、最大日付の行が必要です(日付がID値に従わないと仮定して)。
SELECT a.ID
, a.Title
, a.Dt
FROM Table a
JOIN (SELECT b.Title
, Dt = MAX(Dt)
FROM Table b
GROUP BY Title
) c ON a.Dt = c.Dt
AND a.Title = c.Title
select
max(ID), Title , max(Date)
from
table
group by
Title
これは動作しません。 IDとタイトルでグループ化しています。つまり、すべての行が返されます(IDが一意であると仮定して)。 –
一意のIDでグループ化するとすべての行が返されます – Robb
非常に良い点です!正確に編集されました –
チェックアウトこのSOの質問:Fetch the row which has the Max value for a column
をあなたは30 1 2010年10月11日を意味するものではありませんか? – StuartLC
結果セットには、最初の行のIDと2番目の行のIDが表示されます。これはあなたが望むものか、またはタイプミスですか? – Robb
oops my bad ...固定 – scatman