我正在尝试用SELECT MAX()
命令找出问题。我想收集“BidAmount”列中的最高值,但我只希望扫描选定的条目以获得最高值。
例如,我希望在另一列“UserID”= 6的情况下返回最高的“BidAmount”。我想知道特定客户的最高“BidAmount”(因此“UserID”列将等于“6” )。
我试过用这个:
SELECT MAX(`BidAmount`) FROM `requests` WHERE `UserID` = 6
但它不起作用。如果上面的SQL代码应该工作,那么我的PHP可能会出现问题。我该怎么办?
答案 0 :(得分:5)
SELECT MAX(BidAmount)FROM请求WHERE UserID = 6 GROUP BY UserID
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
答案 1 :(得分:1)
sql看起来很好,测试只是为了确定,所以我看到3个可能的问题:
- 您错误地输入了一个列名或表名
- UserID不是数字
- 问题在于您的应用代码
您可以尝试在phpmyadmin或toad for mysql中执行查询,以查看错误消息,如果有...
祝你好运;)
答案 2 :(得分:0)
您的SQL语句没问题。 不起作用是什么意思?请向我们展示示例数据,以及查询的实际与预期输出。
<强>更新强>
听起来您可能有不正确的BidAmount数据类型,并且正在获得非数字排序。你能告诉我们这种数据类型是什么吗?