0

这是我的查询

SELECT news.*, count(followers.artist_id) as followers 
FROM news 
INNER JOIN followers ON news.artist_id = followers.artist_id 
GROUP BY followers.artist_id 
ORDER BY followers DESC

因此,我目前正在获取按特定艺术家的追随者数量排序的所有新闻。

我想做的只是在关注者超过一定数量时才检索新闻,比如 10。

所以我尝试加入一个 where 子句

WHERE followers > 10

但是我收到一个错误,即 where 子句中没有这样的列。

我能做些什么来实现这一目标?我可以制作一个包含关注者数量的假列吗?

干杯

4

1 回答 1

0

尝试这个:

SELECT news.*, x.[followers]
FROM news
INNER JOIN (
    SELECT news.id, Count(followers.id) as [followers]
    FROM news 
    INNER JOIN followers ON news.artist_id = followers.artist_id 
    GROUP BY news.id
    HAVING Count(followers.id) > 10) as x on x.id = news.id

我假设两个表(新闻和关注者)都有唯一标识行的id列。

于 2013-11-09T14:17:22.640 回答