1. ホーム
  2. mysql

[解決済み] MySql: 'SUM IF' または 'COUNT IF' は可能ですか?

2022-03-02 17:10:52

質問

時間'カラムがあります 種類(1,2,3)の列があります。

というようなことをしたいのですが。

SELECT count(id), SUM(hour) as totHour, SUM( IF ( kind = 1, 1, 0 ) ) as countKindOne

または

SELECT count(id), SUM(hour) as totHour, COUNT( IF ( kind = 1 ) ) as countKindOne

でも、mysqlはエラーがあると言っています...何のエラーでしょうか!

こちらのstackoverflowのトピックをご覧ください。 MySQL SUM IF フィールドb = フィールドa

.. 私はこれを答えることができない....

解決方法は?

を使用することができます。 CASE ステートメントを使用します。

SELECT count(id), 
    SUM(hour) as totHour, 
    SUM(case when kind = 1 then 1 else 0 end) as countKindOne