如果特定列在sql server 2008中多次具有相同记录并按日期时间排序,如何选择不同行。 我在表格中有以下专栏:
我尝试使用以下sql:
SELECT DISTINCT(fileid) FROM [DatabaseName].[dbo].[TableName] where usernumber = '015578957'
如何在上面的sql中选择其他列并按datetime列进行排序,并返回结果集行,其中fileid列是不同的。
答案 0 :(得分: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'
如果要选择第一个不同的记录,请使用上述查询中的MIN,如果要检索最后一个,请使用MAX而不是MIN。