这是我的查询

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子句中没有这样的列。

我该怎么做?我可以伪造一个拥有追随者人数的列吗?

干杯

最佳答案

尝试这个:

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列,该ID列唯一标识该行。

关于mysql - 如何仅在列数超过一定数量时才检索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19876853/

10-12 12:48