2011-11-27 183 views
0

可能重複:
Subtraction in sql statement不明白爲什麼這個查詢不起作用

我有總統名字的表,我想看看有多少(不同總裁)服務了4年以上。

所以我寫了下面的查詢,但它不工作。錯誤是:

Invalid query: You have an error in your SQL syntax, near '*) FROM (SELECT DISTINCT P1.firstName, P1.lastName FROM Presidents P1 ' at line 1

查詢:

SELECT COUNT (*) 
FROM (SELECT DISTINCT P1.firstName, P1.lastName 
     FROM Presidents P1 
     WHERE (P1.endTerm - P1.beginTerm) > 4) M; 

任何人都看到了語法錯誤?

謝謝!

+3

非常相似,http://stackoverflow.com/questions/8288544/subtraction-in-sql-statement但不一樣的用戶。這兩件作業都是你給的嗎?如果是這樣,請使用作業標籤。 –

回答

2

只需刪除空間COUNT(*)

甚至更​​好重寫查詢之間:

SELECT COUNT(DISTINCT P1.firstName, P1.lastName) 
     FROM Presidents P1 
     WHERE (P1.endTerm - P1.beginTerm) > 4 
+0

謝謝你的工作 –

2

COUNT後刪除空間。 MySQL不喜歡這樣

SELECT COUNT(*) 
FROM (SELECT DISTINCT P1.firstName, P1.lastName 
.... 

此外,爲什麼不是這樣? MySQL的讓你數不同對直接

SELECT COUNT(DISTINCT P1.firstName, P1.lastName) 
     FROM Presidents P1 
     WHERE (P1.endTerm - P1.beginTerm) > 4