2010-09-21 81 views
1

我試圖找出我在使用SELECT MAX()命令時遇到的問題。我想收集'BidAmount'列中的最高值,但我只希望選擇的條目被掃描以獲得最高值。MySQL中的SELECT MAX()函數

例如,我想要在其他列'UserID'= 6時返回最高'BidAmount'。我想知道特定客戶的最高'BidAmount'(所以'UserID'列等於''6 「)。

我嘗試使用這樣的:

SELECT MAX(`BidAmount`) FROM `requests` WHERE `UserID` = 6 

但它不工作。如果上述SQL代碼可以正常工作,那麼可能是我的PHP出現問題。我該怎麼辦?

+1

SQL是好的。你能分享預期的和實際的結果以及你正在嘗試查詢的測試數據嗎? – 2010-09-21 17:33:11

+0

請寄出'REQUESTS'表的CREATE TABLE語句。 – 2010-09-21 17:39:31

回答

0

你的SQL語句沒問題。你是什​​麼意思不起作用?請向我們展示示例數據,以及您的查詢的實際與預期輸出。

更新

這聽起來像你可能有BidAmount不正確的數據類型和得到一個非數字排序。你能告訴我們這是什麼數據類型嗎?

+0

如果我使用WHERE子句,它什麼都不返回。如果我刪除WHERE子句,即使最高值爲'55',它也會返回'5'。 – hohner 2010-09-21 17:35:08

+0

@Jamie你需要把它作爲int來投射。 – 2010-09-21 17:38:29

+0

@Jamie:看到我上面的更新。提供模式和樣本數據將會很有幫助。 – RedFilter 2010-09-21 17:38:43

1

的SQL似乎罰款,測試只是要確定,所以我看到3個可能出現的問題:
- 你輸錯列名的一個或表名
- 用戶名不是數
- 問題出在你的應用程序代碼

你可以嘗試在phpMyAdmin的或蟾蜍執行查詢爲MySQL,看到錯誤消息,如果有...

好運;)