这是我的查询
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/