WHERE子句在sql语法中的位置


position of WHERE clause in sql syntax

我生成了一个sql来查询保存用户帖子的数据库表。但我在执行它时遇到了错误。我在这里测试过它,它还告诉我它不正确,问题出在users_user_id部分。我想不出这里可能出了什么问题。有人能帮我纠正这个错误吗。

我的userpost表结构如下:

post_id,post,title,users_user_id

sql:

SELECT title FROM userpost LIMIT 5 OFFSET 10 WHERE users_user_id=9

LIMIT总是在所有关键字之后。

更正的SQL:

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10

通常,SELECT查询有以下顺序:

SELECT
Fields List
FROM
WHERE 
GROUP BY (if needed)
ORDER BY (if needed)
LIMIT (This always come at end and if limit is not specified, 
query will return all records from result set.)

您可以根据以下内容设置带限制的偏移量-

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 10, 5;

其中,在限制之后,第一个argument是偏移量,第二个是记录数量意味着限制。

where应在limit 之前使用

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10

更改:

SELECT title FROM userpost LIMIT 5 OFFSET 10 WHERE users_user_id=9

至:

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10

试试这个方法:

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10 

where子句在from之后使用。

LIMIT总是出现在的最后一个位置

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5,10

我希望这将工作

您需要更改查询。始终将where condition置于LIMITOFFSET:之前

SELECT title FROM userpost WHERE users_user_id = 9 LIMIT 5 OFFSET 10;

限制应在条件之后

 SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10

试试这种方法
LIMIT应该在何处条件之后

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10 

先编写where condition,然后使用limit。LIMIT总是在所有关键字之后。

SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10