我最近在一次求职面试中,有一个问题是数据库让我有点问题。
这是一项任务:
您正在为博客服务创建数据库方案,其中包括:
每个用户都有一个博客
每个博客都可以有许多不同类别的博客文章
问题在哪里:
编写包含2个帖子最多的用户的选择查询
获取包含大多数类别的帖子
我使用数据表创建了数据库 - 用户,博客,BlogCategory,类别,帖子类别和帖子
BlogCategory和Postcategory是映射blog / post及其类别之间关系的关系表,我认为这是正确的数据库方案。
关于这些问题,我认为两者都是一些内部联接的复杂查询,但到目前为止我无法解决它们。好吗?
我现在正在尝试使用firebird db,因为MS SQL服务器在安装ms sql management studio时遇到问题。事情就是你已经拿出了自己的表和列和键。您肯定会需要用户,博客,帖子,类别表,下一张表由您决定
答案 0 :(得分:1)
至少可以说是模糊不清但很确定这样的事情应该有用。
select top 2 UserName
from Posts
group by UserName
order by count(*) desc
select top 1 PostID
from Posts p
join PostCategories pc on pc.PostID = p.PostID
group by p.PostID
order by count(*) desc