我将是第一个承认我的SQL技能缺乏的人。现在...
假设我们有一个名为Posts的数据库表,其中有三列:Id,RootId和DateTime。
我想做的是获取最后一个(按DateTime)20个不同的RootId值。
这里有一点需要注意:RootId可能是NULL,在这种情况下我们应该将该记录视为不同的,而不是NULL,应该返回Id。
查询是什么?
答案 0 :(得分:2)
select distinct top 20 isnull(rootid,id) from posts order by datetime desc
假设这是针对MS SQL Server