我有一个表Question
,其中包含
QuestionId, Question, AnswerId, Answer, AnsVotes(integer), AnsDate(Date)
一个QuestionId
可以有多个AnswerId
因此有多个条目。 AnswerId
是唯一的
我如何过滤记录以获得QuestionId
AnswerId
最多AnsVotes
的记录?如果Ansvotes
对于多个条目相同,则获取最新AnsDate
(日期列)的行。
答案 0 :(得分:1)
你想要获得最高级别的条目,而不是为了关系。请使用select top(1) *
from question
order by ansvotes desc, ansdate desc;
:
ROW_NUMBER
或者您想获得每个问题的最佳答案吗?然后,您将使用select *
from
(
select q.*, row_number() over (partition by questionid
order by ansvotes desc, ansdate desc) as rn
from question q
) answers
where rn = 1;
@Query("select u.moduleName from UserBehaviorLog u group by u.moduleName order by u.createdDate desc ")