-1

SQL Server 2008で特定の列に同じレコードが複数回あり、日時順に並べられている場合に、個別の行を選択する方法。テーブルに次の列があります。

  1. ID
  2. ユーザー名
  3. ファイル ID
  4. 日付時刻

次のSQLを使用してみました:

SELECT DISTINCT(fileid) FROM [DatabaseName].[dbo].[TableName] where usernumber = '015578957'

上記のSQLで他の列を選択し、datetime列で並べ替えて、fileid列が異なる結果セット行を返すにはどうすればよいですか。

4

1 に答える 1

1
select T.*
FROM [DatabaseName].[dbo].[TableName] T
JOIN
(
SELECT min(id) id, fileid
FROM [DatabaseName].[dbo].[TableName] 
group by fileid
)X ON T.id=X.id
where T.usernumber = '015578957'

If you want to select first distinct record use MIN as in above query and if you want to retrieve the last one use MAX instead of MIN.

于 2012-10-17T08:04:16.503 に答える