我已经疯了,不知道还能尝试什么。 我得到了这些数据:
表名为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为varchar(3)
,kupovni
为float (10)
。
我真的不知道我做错了什么。
当我尝试:
SELECT valuta, MAX(kupovni)
FROM erste
GROUP BY kupovni
它做得对吗?
答案 0 :(得分:4)
这似乎只是选择kupovni
字段值最高的行。
你可以这样做:
SELECT valuta, kupovni
FROM erste
ORDER BY kupovni DESC
LIMIT 1
答案 1 :(得分:1)
你非常接近!这就是你需要的:
SELECT valuta, MAX(kupovni)
FROM erste
where valuta = 'GBP' -- optional where clause
group by valuta
你必须"分组"所有列均未按aggregate function汇总。
除非您确实需要输出中的valuta
,因为您知道valuta
,我会这样做:
SELECT MAX(kupovni)
FROM erste
where valuta = 'GBP'
(请注意,mysql允许从组中省略列,在这种情况下,您将获得每个组唯一遇到的第一行行)
答案 2 :(得分:1)
试试这个:
SELECT valuta, TRUNCATE(MAX(kupovni),4)
FROM erste
group by valuta
答案 3 :(得分: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