'讨论'表格架构
title description desid replyto upvote downvote views
browser used a1 none 1 1 12
- bad topic b2 a1 2 3 14
sql database a3 none 4 5 34
- crome b4 a3 3 4 12
上表有两种类型的内容类型主题和评论。唯一内容标识符'desid'用于标识其主要主题或注释。 'desid'以'a'开头为主题,评论'desid'以'b'开头。对于评论'replyto'是与该评论相关联的主题的'desid'。
我想找出基于(upvote + downvote +访问+评论数量)添加的主要主题列表。以下查询按照(upvote + downvote + visits)
的顺序给出了主题列表 select *
查询次数最多upvote+downvote+views
select *
from [DB_user1212].[dbo].[discussions]
where desid like 'a%'
order by (upvote+downvote+visited) desc
For(comments + upvote + downvote + views)我试过
select *
from [DB_user1212].[dbo].[discussions]
where desid like 'a%'
order by (select count(*)
from [DB_user1212].[dbo].[discussions]
where replyto = desid )+upvote+downvote+visited) desc
但它不起作用。因为它无法将外部查询的desid发送到内部子查询。请告诉我如何解决这个问题。请注意,我只想使用查询语言解决方案。