zoukankan      html  css  js  c++  java
  • Mysql按指定分组排序

    -- Mysql按指定分组排序
    select 
         t5.task_id
        ,concat('TH-',t5.proj_name,'-',lpad(rn,7,'0')) as id
        ,t5.complaint               -- 详细地址
        ,t5.requester               -- 联络人
        ,t5.phone                   -- 电话
        ,t5.urgency                 -- 报修情况
        ,t5.accept_time             -- 开单时间
        ,t5.accept_operator_name    -- 维修人员
        ,concat(t5.position_name,t5.class_full_name,t5.problem_name,t5.`subject`) as context
    from (
        SELECT
            @r:= CASE WHEN @rank=te.proj_name THEN @r+1 ELSE 1 END AS rn,
            @rank:=te.proj_name AS TYPE,
            te.* 
        FROM (
            SELECT 
                 t1.code
                ,t4.name as proj_name
                ,concat('TH-',t4.name,'-',substr(t1.code,length(t1.code)-3)) as id
                ,t1.complaint               -- 详细地址
                ,t1.requester_member_id     -- 
                ,t1.requester               -- 联络人
                ,t1.phone                   -- 电话
                ,t1.urgency                 -- 报修情况
                ,t1.accept_time             -- 开单时间
                ,t1.accept_operator         -- 
                ,t1.accept_operator_name    -- 维修人员
                ,t2.class_id                -- 
                ,t3.position_id             -- 
                ,case when ifnull(t3.position_name,'') <> '' then concat(t3.position_name,';') else '' end     as position_name   -- 报修内容_问题部位
                ,case when ifnull(t2.class_full_name,'') <> '' then concat(t2.class_full_name,';') else '' end as class_full_name -- 报修内容_问题分类1
                ,case when ifnull(t2.problem_name,'') <> '' then concat(t2.problem_name,';') else '' end       as problem_name    -- 报修内容_问题分类2
                ,t1.`subject`                                                                                  as subject         -- 报修内容_任务内容及补充说明
                ,concat(ifnull(t3.position_name,''),'',ifnull(t2.class_full_name,''),'',ifnull(t2.problem_name,''),'',ifnull(t1.`subject`,'')) as context
                ,t1.id as task_id
            FROM k_task t1
            left join k_task_problem t2
                on  t2.task_id = t1.id and t2.is_deleted = 0
            left join k_task_problem_position t3
                on t3.task_id = t1.id and t3.is_deleted = 0
            left join t_project t4
                on t4.id = t1.proj_id and t4.is_deleted = 0
            where t1.is_deleted = 0
        ) te
        ,(SELECT @r:=0 ,@rank:='') b
        ORDER BY te.code
    ) t5
    where 1 = 1
        ${IF(taskId='', " and (1=2) ", CONCATENATE(" and task_id in ('", REPLACE(taskId, ',', "','"), "')"))}
    ;
  • 相关阅读:
    $python打包工具pyinstaller的用法
    $命令行参数解析模块argparse的用法
    $用ConfigParser模块读写conf配置文件
    $用python-docx模块读写word文档
    $git学习总结系列(4)——gitignore文件
    $ git学习总结系列(3)——分支管理
    $ 专治各种python字符编码问题疑难杂症
    $python数据分析基础——初识matplotlib库
    $ python-json模块的基本用法
    $python虚拟化运行环境——virtualenv
  • 原文地址:https://www.cnblogs.com/chenzechao/p/12735808.html
Copyright © 2011-2022 走看看