2014-01-14 61 views
-3

它不會返回任何東西。我得到以下我的查詢在下面出現了什麼問題?

SELECT * 
FROM projects 
WHERE 1 
AND category_id =10 
AND position ASC ORDER BY limit 0,16 

錯誤..錯誤說

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC ORDER BY limit 0,16' at line 1

+0

剛纔你的要求是什麼? – KrazzyNefarious

+0

'1'在SQL中無意義,'AND position ASC ORDER BY limit 0,16'。你是否從不正確的地方剪切和粘貼了這個? – StevieG

回答

0

關鍵字asc僅用於inorder by子句。不在之前。此外,order by需要一個或多個列或表達式。也許你的意思是:

SELECT * 
FROM projects 
WHERE 1 
AND category_id =10 
ORDER BY position asc 
limit 0,16 
0

這是什麼地方錯了您的查詢:

SELECT * FROM projects WHERE 1 AND category_id =10 AND position 

WHERE 1AND position沒有任何意義。

+0

我想通了...... – user3097566

+0

你弄清楚了什麼? – DopeGhoti

2

從查詢情況來看,我認爲你試圖讓「一切」對錶「工程」,以「10類」,通過「位置」命令,並限制結果到前16行。

如果猜測是正確的,也許你的意思是這樣的:

SELECT * 
FROM projects 
WHERE category_id = 10 
ORDER BY position ASC 
LIMIT 16 
+0

這也是我的想法。不知道哪裏......和哪裏......發揮作用,但你放在這裏的所有東西看起來就像他們正在尋找的東西。 –

0

我認爲問題來自Where子句

SELECT * FROM項目 WHERE 1 - 這裏>你應該比較列值爲 AND category_id = 10 AND位置ASC ORDER BY限制0,16 //位置值丟失

它應該是一些東西e

SELECT * 
FROM projects 
WHERE place = 'London' //place is column name 
AND category_id =10 
AND position = 1 ASC ORDER BY limit 0,16 //position value is 1