就是group by 的时候  再一组数据中间有一条是不符合条件的,如何让这组数据在不符合条件那里分成两段显示?

解决方案 »

  1.   

    sql语句为: SELECT
    min(cardno) mincard,
    max(cardno) maxcard,
    case card_giveout_status when '0' then '未发放' when '1' then '已发放' end card_giveout_status,
    case card_make_status when '0' then '未制作' when '1' then '已制作' when '2' then '制作中' end card_make_status,
    card_make_batch,
    DATE_FORMAT(card_add_time,'%Y-%m-%d-%T') as card_add_time,
    DATE_FORMAT(card_giveout_time,'%Y-%m-%d-%T') as card_giveout_time,
    DATE_FORMAT(card_make_time,'%Y-%m-%d-%T') as card_make_time
    FROM
    (
    SELECT
    card_giveout_status,
    card_make_status,
    card_make_batch,
    cardno,
    card_add_time,
    card_giveout_time,
    card_make_time,
    cardno - (@rownum :=@rownum + 1) AS cardrn
    FROM
    card_base c,
    (SELECT @rownum := 0) r
    ORDER BY
    cardno
    ) AS cardtype
    GROUP BY
    cardtype.card_make_batch,cardtype.card_make_status,cardtype.card_giveout_status,cardtype.cardrn
     
      

  2.   

    楼主,你用 excel 画两个图出来,一个表示一下原始数据,一个表示一下你想要的结果 ;