Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从表中的特定行应用限制查询_Mysql_Sql - Fatal编程技术网

Mysql 如何从表中的特定行应用限制查询

Mysql 如何从表中的特定行应用限制查询,mysql,sql,Mysql,Sql,我有一个businessdates表,其中日期按升序排列,但不是连续的,因为有些日期是假日。如果我必须在跳过表中最后一行的“?”日期后选择一个日期,那么下面的查询非常有效 SELECT date FROM businessdates order by date desc limit ?,1 ; 我在来自java代码的查询中绑定了“?” 问题:不是跳过最后一行,而是如何根据已知的日期跳出表中间的某个位置。我猜是下面这样的,如果有任何建议,我将不胜感激

我有一个businessdates表,其中日期按升序排列,但不是连续的,因为有些日期是假日。如果我必须在跳过表中最后一行的“?”日期后选择一个日期,那么下面的查询非常有效

         SELECT  date   FROM  businessdates    order by  date desc  limit ?,1 ;
我在来自java代码的查询中绑定了“?”

问题:不是跳过最后一行,而是如何根据已知的日期跳出表中间的某个位置。我猜是下面这样的,如果有任何建议,我将不胜感激

         SELECT  date   FROM  (select * from businessdates where date <= "somedate")     order by  date desc  limit ?,1 ;

听起来你在找OFFSET关键字

这将在第n行开始搜索。将n替换为要开始搜索的任何行号

SELECT查询中的OFFSET子句会导致结果集在逻辑第一项之后开始一些行


你所展示的应该很好用。您可能希望使用between条件运算符来获得特定的范围,然后像这样对其进行限制

SELECT  `date`
FROM  businessdates 
where `date` between 'somedate' and 'otherdate'
order by  `date` desc
limit ?,1;
SELECT  `date`
FROM  businessdates 
where `date` between 'somedate' and 'otherdate'
order by  `date` desc
limit ?,1;