2017-11-01 16 views
0

(Money + Bank-Money)の合計を選択し、(Money + Bank-Money)=プレーヤーの合計金額の一覧を表示する合計金額を2つ選択して表示する方法

私はデータを取得するために使用しますが、それは

SELECT `id`,`Username`, SUM(`Money`+`Bank-money`) 
AS total-balance 
FROM `players` 
ORDER BY total-balance DESC LIMIT 0,10" 

私はそれをどのように行うことができますが動作しないクエリですか?あなたが(NULL値を処理する)GROUP BYCOALESCEを使用する必要が

おかげ

+0

どのように正確に機能しませんか? –

+0

それはそのテーブルから一人しか表示されていません – JeaSon

+0

あなたは 'SUM'を' total-balance'(適切にエスケープ)として 'Money + Bank-money 'を必要としないでしょう。 – apokryfos

答えて

2

SELECT `Username`, 
     SUM(COALESCE(`Money`,0)+COALESCE(`Bank-money`,0)) AS `total-balance` 
FROM `players` 
GROUP BY `Username` 
ORDER BY `total-balance` DESC 
LIMIT 0,10 
+0

ありがとうございます。 – JeaSon

+0

彼はIDとユーザー名を求めています...このクエリはID以来本当に「グループ化」されていないので、うまくいけばユニークです。しかし、集計のためのグループの良い例です! – IncredibleHat

4

SUM()は異なる行から値を追加するためです。 1行に異なる列の合計が必要な場合は、次の行を追加してください:

SELECT `id`,`Username`, `Money` + `Bank-money` AS total-balance 
FROM `players` 
ORDER BY total-balance DESC LIMIT 10 
+0

この回答はおそらく彼が彼の試みとQに基づいて探しているものでしょう。 – IncredibleHat

+0

ありがとう – JeaSon

関連する問題