0
OFFSET我有这个疑问:与MySQL的WHERE子句条件不工作
SELECT *
FROM Orders
WHERE site_code = "TT" AND delete_flag = 'n'
LIMIT 10 OFFSET 5;
的问题是,结果是不准确的。我得到了“site_code”不是“TT”的结果。我的问题是,是否可以使用OFFSET和WHERE条件?
OFFSET我有这个疑问:与MySQL的WHERE子句条件不工作
SELECT *
FROM Orders
WHERE site_code = "TT" AND delete_flag = 'n'
LIMIT 10 OFFSET 5;
的问题是,结果是不准确的。我得到了“site_code”不是“TT”的结果。我的问题是,是否可以使用OFFSET和WHERE条件?
表中的行没有定义的顺序。当使用LIMIT x
时,服务器将精确返回x
匹配行,但是其中x
行未定义。使用OFFSET y
时,返回的第一行从第一行偏移y
,否则可能返回,但在SQL中没有指定的OFFSET
,没有定义的“第一个”行。
这些行是无序集合,因此哪些特定的行将返回也是undefined,除非还指定了ORDER BY
。
唯一的约束,否则,就是x
行将返回(如果存在很多匹配行),他们将匹配WHERE
- 但返回行是其它条件基本取其行优化认定第一,使用它选择的任何标准来匹配选择标准的行。
您的查询无法返回“site_code”不是“TT”的行。 –
是的。这是我的观点。不管Site_code是否为'TT',问题是它只跟随OFFSET。 – ralcazar
除非在表格中有一列名为“TT”的列。 –