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

列の値はvarchar(3)であり、kupovniです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

集計関数で集計されていないすべての列を「groupby」する必要があります。

あなたが本当に出力に必要でない限りvaluta、あなたが知っているのでvaluta、私はこれをします:

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

(mysqlでは、グループから列を省略できることに注意してください。この場合、各グループで最初に検出される行のみが取得されます)

于 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 に答える