Mysql sql查询统计语句

-- 查询 统计同一张表中 各种情况, 列转行
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;

大坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值