2009-10-31 85 views
0

我在遇到以下MYSQL查询时遇到了麻烦,并希望有人能够帮助我。Mysql高级声明

下面是该查询:

SELECT * 
FROM dbcasino_db22.tb_content 
WHERE content_real_folder = 'foldername/' AND content_no < 5099 

这个查询工作,但给我匹配content_real_folder的所有比5099更小的记录 - 我真的只是想获得的最大结果比5099小并没有第一个记录匹配content_real文件夹

我quess是,最终的查询是这样的 - 但我没有用它

JOY

SELECT * FROM dbcasino_db22.tb_content WHERE content_real_folder = '文件夹名/' AND content_no < 5099 HAVING MAX(content_no)

如果有任何人谁可以帮助,这将是大加赞赏。

回答

3

这应该为工作的响应。该ORDER告诉最大的结果是在顶部和LIMIT 1告诉它,你只需要在第一个结果

SELECT * FROM dbcasino_db22.tb_content 
WHERE content_real_folder = 'foldername/' AND content_no < 5099 
ORDER BY content_no DESC 
LIMIT 1 
+0

+1 ORDER BY/DESC/LIMIT – 2009-10-31 14:34:16

+0

谢谢百万杰森我可以踢自己不考虑DESC功能:-) – 2009-10-31 14:37:44

+0

忘记了十几次后,您就会开始记住。这就是我这次如此快速地记住它的原因。 – Jason 2009-10-31 14:39:02

0

我认为最简单的办法是通过content_no降序排序,然后限制到1

0

如果我理解你的权利,你想

SELECT * FROM dbcasino_db22.tb_content WHERE content_real_folder = 'foldername/' AND content_no < 5099 order by content_no desc limit 1