sql语法中WHERE子句的位置

时间:2015-12-31 05:49:25

标签: php mysql

我已经生成了一个sql来查询数据库表,其中保存了用户的帖子。但是我在执行它时遇到错误。我测试了它here,它还告诉我它是不正确的,问题在于在 users_user_id 部分。我无法弄清楚这里可能出现的问题。任何人都可以帮我解决此错误。

我的userpost表结构如下:

  

POST_ID,交,标题,users_user_id

SQL:

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

10 个答案:

答案 0 :(得分:5)

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.)

答案 1 :(得分:3)

试试这种方式
LIMIT应该在条件

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

答案 2 :(得分:3)

您可以按照以下标准设置偏移量 -

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

在限制第一个争论之后,第二个是否为第二个。记录意味着限制。

答案 3 :(得分:2)

尝试这种方式:

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

在from之后使用where子句。

答案 4 :(得分:2)

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

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

答案 5 :(得分:2)

where应在limit

之前使用
SELECT title FROM userpost WHERE users_user_id=9 LIMIT 5 OFFSET 10

答案 6 :(得分:2)

变化:

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

答案 7 :(得分:2)

限制应该在条件

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

答案 8 :(得分:2)

LIMIT始终位于最后位置

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

我希望这会起作用

答案 9 :(得分:2)

您需要更改查询。始终where condition LIMITOFFSET之前的地方{/ 1}}。

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