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」的列。 –