Mysql sum sum メソッド: 1. "select sum(value) as value from table where user_id" を通じて単一の合計を実装します。 2. "( select sum のような構文を使用して、ネストされたステートメントを通じて複数の条件を合計します。 type = 6 および type_son = 1 のテーブルからの (値)) を xj0 として取得します。
このチュートリアルの動作環境: Windows 10 システム、MySQL バージョン 5.7、Dell G3 コンピューター。
mysql sumを使用する方法は何ですか?
MySQL SUM() 条件付き合計メソッドと複数条件合計メソッド
1. 単一の合計。
select sum(value) as value from table where user_id = 1 and type = 6 and type_son = 2
value は合計されるフィールドです。
as の後に sum が続き、合計後の名前が付けられます。
2. SQL ステートメント内のネストされたステートメントの複数条件の合計。
select (select sum(value) from table where type = 6 and type_son = 1) as xj0, (select sum(value) from table where type = 6 and type_son = 2) as xj1, (select sum(value) from table where type = 3 and type_son = 3) as xj2, (select sum(value) from table where type = 4 and type_son = 3) as xj3 from table where user_id = 1 limit 0,1
as の後に sum が続き、競合が起こらないように合計後に名前を付けます。
3. 2 番目と同じですが、ステートメントをネストして合計するのではなく、sum を使用して合計を判断します。
select sum(IF(type = 6 and type_son = 1,value,NULL)) as xj0, sum(IF(type = 6 and type_son = 2,value,NULL)) as xj1, sum(IF(type = 3 and type_son = 0,value,NULL)) as xj2, sum(IF(type = 4 and type_son = 3,value,NULL)) as xj3 from table where user_id = 1 sum(IF('条件判断','求和的字段','NULL不计算')) as '别名'
3 番目の方法は最初の 2 つの方法よりも優れていると思います。
YII 2.0 は SUM を使用して合計を計算します
$v['alls_bonus'] = AccountingLog::find() ->select([" sum( IF(type = 6 and type_son = 1,value,NULL) ) as xj0, sum( IF(type = 6 and type_son = 4,value,NULL) ) as xj1, sum( IF(type = 8 and type_son = 4,value,NULL) ) as xj2, sum( IF(type = 3 and type_son = 1,value,NULL) ) as xj3 "]) ->where(['user_id'=>1]) ->asArray() ->one();
選択に ["sum..."] を追加するように注意してください。追加しないとエラーが報告されます
推奨学習: 「MySQL ビデオ チュートリアル 」
以上がmysql sumを使用する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。