SQL查询唯一的数据并按时间降序怎么写?
我写的SQL语句是:selectdistinctsendtoWhom,sendDatefromsendChatwheresendEmail='aa@sina.com'or...
我写的SQL语句是:select distinct sendtoWhom,sendDate from sendChat where sendEmail='aa@sina.com' order by sendDate desc,得到图片的结果,不过我想得到的是按sendDate 降序排列,并且sendtoWhom字段是不重复的;而现在图片结果是虽然降序了,可是sendtoWhom有很多重复,怎样实现得到唯一的值,谢谢?
展开
2个回答
展开全部
Select A.sendtoWhom,
sendDate = Isnull((
Select Top 1 B.sendDate From sendChat B
Where B.sendtoWhom = A.sendtoWhom
And B.sendEmail='aa@sina.com'
Order by B.sendDate Desc
),'')
From
(select distinct sendtoWhom
from sendChat
where sendEmail='aa@sina.com'
order by sendDate desc) A
sendDate = Isnull((
Select Top 1 B.sendDate From sendChat B
Where B.sendtoWhom = A.sendtoWhom
And B.sendEmail='aa@sina.com'
Order by B.sendDate Desc
),'')
From
(select distinct sendtoWhom
from sendChat
where sendEmail='aa@sina.com'
order by sendDate desc) A
追问
怎么运行后是错误提示:
消息 1033,级别 15,状态 1,第 12 行
除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
追答
哦 多了个order by sendDate desc。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询