2

列type(0または1)、amount(int)のテーブルがあります

2つのパラメータを返すものをクエリする必要があります:タイプ=1の合計金額とタイプ=0の合計金額

2つのクエリ:

SELECT SUM(amount) AS income FROM table WHERE type = 0;

SELECT SUM(amount) AS expense FROM table WHERE type = 1;

しかし、1つのクエリのみを使用してこれらのパラメータを返すことはできますか?

4

2 に答える 2

3
SELECT SUM(amount), IF(type=0, 'income', 'expense') AS type
FROM table
GROUP BY type
于 2012-12-08T13:35:16.560 に答える
1
SELECT sum(case when type = 0 
           then amount
           else 0 
           end) AS income,
       sum(case when type = 1 
           then amount
           else 0
           end) AS expense
FROM table

デモ

于 2012-12-08T13:36:58.217 に答える