Mysql sqlクエリ統計文

4816 ワード

--                ,    
SELECT
    a.a1 '     '
    , b.b1 '      '
    , c.c1 '       '
    , d.d1 '      '
FROM
    ( SELECT count( * )a1 FROM repay_diff WHERE assets_id = 33241 AND financier_id = 462107 ) a
    LEFT JOIN ( SELECT count( * ) b1 FROM repay_diff WHERE assets_id = 33241 AND financier_id = 462107 AND repay_date = '2018-05-31' ) b ON 1 = 1
    LEFT JOIN ( SELECT count( * ) c1  FROM repay_diff WHERE assets_id = 33241 AND financier_id = 462107 AND repay_date = '2018-05-31' AND charge_id = 453159 ) c ON 1 = 1
    LEFT JOIN ( SELECT count( * ) d1 FROM repay_diff WHERE assets_id = 33241 AND financier_id = 462107 AND repay_date = '2018-05-31' AND amt = 228.8733 AND charge_id = 453159 ) d ON 1 =1
--              
        SELECT
        sum( CASE type WHEN 1 THEN amt ELSE 0 END ) sum_one,
        sum( CASE type WHEN 2 THEN amt ELSE 0 END ) sum_two
        FROM
        table_a

group_concat関数はdistinctと組み合わせて使用する
select group_concat(distincat name) from tableA group by time

group_concat mysqlでデフォルトの長さ1024を超えると自動的に切り取られます
  show variables like 'group_concat_max_len';

コマンドの使用
    SET GLOBAL group_concat_max_len=102400;
    SET SESSION group_concat_max_len=102400;

大きな穴