2013-01-22 46 views
0
$query="SELECT title, max(postid) FROM post"; 

postid是遞增的數值(1,2,3...)。目前,最高值是49,但它正在拉昇1.它似乎忽略了MAX語句。SQL語法的問題? MAX不工作

否則其他一切都很好。

回答

4

這不是有效的語法,哪個引擎正在運行它?

您可能需要:

SELECT title, max(postid) FROM post GROUP BY title; 

獲得多個記錄,每一個標題,顯示每個標題的最大帖子ID,或

SELECT max(postid) FROM post 

從表中獲取的單一最大帖子ID 。

如果你想要的是最高和帖子ID連同它的標題,你需要

SELECT TOP 1 title, postid FROM post ORDER BY postid DESC 

SELECT title, postid FROM post ORDER BY postid DESC LIMIT 1 

取決於你的SQL引擎。

+1

謝謝!我結束了使用$查詢=「選擇標題從帖子ORDER BY postid DESC限制1」;這是基於你的答案之一。 – SoWizardly

0

你試過:

SELECT title, max(postid) FROM post GROUP BY title 

我本來期望您使用的是一個錯誤的子句中的發言作出反應沒有哪個組SQL引擎。但是,如果GROUP BY以某種方式隱含在代碼的其他位置,則應從select子句中刪除「title」(因爲我希望「title」只與一個帖子關聯)。在這種情況下,如果您只是簡單地期望帖子表中的最大postid,則您的陳述應爲:

SELECT max(postid) FROM post