Mysql 选择除点击的最后一个id以外的所有id>;1000
我有一个添加新闻的数据库。我需要显示点击率>1000但没有最后id的新闻 我试过这样做Mysql 选择除点击的最后一个id以外的所有id>;1000,mysql,Mysql,我有一个添加新闻的数据库。我需要显示点击率>1000但没有最后id的新闻 我试过这样做 SELECT * FROM news WHERE newsid != (SELECT MAX(newsid) FROM news) AND hits > 1000 ORDER BY newsid DESC 但这和这个一样 SELECT * FROM `news` WHERE hits > 1000 ORDER By newsid DESC 它显示点击率>1000
SELECT *
FROM news
WHERE newsid != (SELECT MAX(newsid) FROM news)
AND hits > 1000
ORDER
BY newsid DESC
但这和这个一样
SELECT * FROM `news` WHERE hits > 1000 ORDER By newsid DESC
它显示点击率>1000的所有新闻。我哪里出错了?我想您需要这个查询:
SELECT *
FROM news
WHERE newsid != (SELECT MAX(newsid) FROM news WHERE hits > 1000)
AND hits > 1000
ORDER BY newsid DESC
第一个查询似乎没有考虑通过
newsid
进行过滤,但是如果max(newsid)
记录了点击次数,那么发生的情况是内部SELECT
从整个表中获取max(newsid)
,而不仅仅是点击次数超过1000次的表。在内部SELECT
中添加WHERE hits>1000
子句可以解决您的问题。请参阅非常感谢UU。这就是我需要的。我不知道该说些什么,除了再一次谢谢你:)