Mysql高级声明

时间:2009-10-31 14:29:51

标签: sql mysql

我在使用以下MYSQL查询时遇到问题,并希望有人可以帮助我。

以下是查询:

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

这个查询有效,但是给了我所有小于5099且与content_real_folder匹配的记录 - 我实际上只想获得小于5099的最大结果而不是第一条记录与content_real文件夹匹配

我的问题是结束查询看起来像这样 - 但我没有JOY

  

SELECT *       来自dbcasino_db22.tb_content       WHERE content_real_folder ='foldername /'AND content_no&lt; 5099 HAVING MAX(content_no)

如果有人可以提供帮助,我们将不胜感激。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我认为最简单的解决方案是按content_no Descending排序,然后将响应限制为1。

答案 2 :(得分:0)

如果我理解你,你想要

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