Mysql中幾種sql的常見用法

如何使用非默認的排序。例如使用213之類的排序

能夠使用以下方法mysql

SELECT DISTINCT
    pg.part_grp_id,
    pg.part_grp_name,
    pg.equip_category_id
FROM
    cost_part_grp pg,
    cost_part_kit pk,
    cost_part_event pe
WHERE
    pe.mdl_ver_id IN (
        SELECT
            s.mdl_ver_id
        FROM
            cost_fleet_model s
        WHERE
            s.fleet_id = 1002
    )
AND pe.part_kit_id = pk.part_kit_id
AND pk.part_grp_id = pg.part_grp_id
ORDER BY
    CASE pg.equip_category_id
WHEN 2 THEN
    1
WHEN 1 THEN
    2
WHEN 4 THEN
    3
ELSE
    4
END

原文連接:https://blog.csdn.net/skytalemcc/article/details/5883728sql

mysql如何更新替換某一個字段中的特定字符串

UPDATE t_bss_employees
SET mobilephone = REPLACE (mobilephone, "2129", "0000")
WHERE
    id IN (
        SELECT
            a.id
        FROM
            (
                SELECT
                    id
                FROM
                    t_bss_employees
                WHERE
                    mobilephone IN (
                        '18121299262',
                        '18121299247',
                        '18121299206',
                        '18121299209'
                    )
            ) AS a
    )

將mobilephone字段中的2129字符串替換爲0000
使用當前表爲條件更新當前表。須要在條件處再添加一個()構建一個虛擬表ui

求比例的sql

select a.style, ROUND(
            b.num / a.sum * 100,
            2
        ) as styleRate from (SELECT 
    count(qspc.id) sum 
    ,qq.style  style
    from  t_qc_security_plan_comment  qspc 
        inner join t_qc_question qq
        on qq.id = qspc.question_id
        LEFT JOIN t_qc_address qa ON qa.id = qspc.address_id
        LEFT JOIN t_system_organ  so on qa.hospital =  so.id
        WHERE qq.scr_level is not NULL
        and qq.type = 3  and so.tenant_code = 'zzyy'
        GROUP BY style) a left join (SELECT 
    count(qspc.id) num 
    ,qq.style  style
    from  t_qc_security_plan_comment  qspc 
        inner join t_qc_question qq
        on qq.id = qspc.question_id
        LEFT JOIN t_qc_address qa ON qa.id = qspc.address_id
        LEFT JOIN t_system_organ  so on qa.hospital =  so.id
        WHERE qq.scr_level is not NULL
        and qq.type = 3  and so.tenant_code = 'zzyy'
        and qspc.is_bad =0
        GROUP BY style) b on a.style = b.style

計算邏輯是分別求總數和平均數。而後兩數相除再用round求精度.net

本文由博客一文多發平臺 OpenWrite 發佈!code

相關文章
相關標籤/搜索