1

我已经疯了,不知道还能尝试什么。我得到了这个数据:

表名是erste

valuta  kupovni    
EUR     7.435   
GBP     9.2132  

然后我试试这个:

SELECT valuta, MAX(kupovni)
FROM erste

我明白了:

valuta  MAX(kupovni)
 EUR    9.213199615478516

我想得到:

GBP 9.2132

列 valuta isvarchar(3)kupovniis float (10)。我真的不知道我做错了什么。当我尝试:

SELECT valuta, MAX(kupovni)
FROM erste
GROUP BY kupovni

它做对了吗?

4

4 回答 4

4

这似乎只是为kupovni字段选择具有最高值的行的简单问题。

你可以做:

SELECT valuta, kupovni
FROM erste
ORDER BY kupovni DESC
LIMIT 1
于 2012-07-09T05:48:24.497 回答
1

你很亲近!这是您需要的:

SELECT valuta, MAX(kupovni)
FROM erste
where valuta = 'GBP' -- optional where clause
group by valuta

您必须“分组”所有未由聚合函数聚合的列。

除非你真的需要valuta输出中,因为你知道valuta,我会这样做:

SELECT MAX(kupovni)
FROM erste
where valuta = 'GBP'

(请注意,mysql 允许从 group by 中省略列,在这种情况下,您将获得每个组遇到的唯一第一行)

于 2012-07-09T05:48:18.013 回答
1

尝试这个:

SELECT valuta, TRUNCATE(MAX(kupovni),4)
FROM erste
group by valuta
于 2012-07-09T05:52:09.107 回答
0
SELECT erste.* 
  FROM ( SELECT valuta, MAX(kupovni) AS maxtotal
           FROM erste
           GROUP BY valuta) AS dt
INNER JOIN erste
    ON erste.valuta= dt.valuta
   AND erste.kupovni= dt.maxtotal 
ORDER BY items_purchased.val DESC LIMIT 1 
于 2012-07-09T05:57:42.867 回答