• Mysql问题记录


    1.limit分页运算
    limit分页时不能在分页中做运算,所以可以这样写
    SET @a=CONCAT('select a.* from (
    SELECT
    COUNT(1) OVER() AS count,
    name,
    weight
    FROM
    dwd_hospital_region_statistics
    where type=2
    ) a order by a.weight desc limit ',(1-1)*5,',',5,'');
    PREPARE texts FROM @a;
    EXECUTE texts;
    用concat拼接,然后再去运行。
    这样就可以进行运算了,这个sql还有个计算count的功能,计算这个数据的总数。
    当然,如果这样的话,在mybatis中默认时不能同时运行多条sql的,可以改一下配置
    allowMultiQueries=true
    如下图:

    2.写死某个数据值
    业务场景:为什么不用数据类型type,用1234表示不同的类型,因为前端需要可配置,页面上的具体name需要后端传过去,并且大部分地方是展示医废总量,只有这一处是医废收集量
    写法:直接select '你想要的固定值' 字段 from 表名
    select year(report_time) as date, sum(num) as num,'医废收集量' name from dwd_medical_waste where name = '医废总量' GROUP BY year(report_time)

    结果是

    3.数据存在则更新,不存在就新增
    重点:判断数据存在还是不存在的那个字段要设置成unique索引
    用ON DUPLICATE KEY
    INSERT INTO student(id,value,name) VALUE(12,21,'小李') ON DUPLICATE KEY UPDATE name= '李四'

    再次运行

    4.field排序(可以将数据值根据你想要的顺序排序)
    select year(report_time) as date,name ,sum(num) as num from dwd_medical_waste where name!='在线监测医废总数' GROUP BY name,year(report_time) order by year(report_time), field(name, '医废总量', '感染性医废', '药物性医废', '损伤性医废', '病理性医废', '化学性医废') asc;

    5.预编译 PREPARE '预编译名' FROM sql、编译EXECUTE '预编译名';

  • 相关阅读:
    三分
    知识点整合摘取
    Codeforces Round #533 C. Ayoub and Lost Array
    判断当前VC 是push还是present的
    自动布局
    获取当前的 viewController
    UIImageView 点击放大缩小
    UIButton 在UIScrollView里面 点击效果不明显的问题
    IOS AutoLayout 遍历修改约束
    GIT 命令 操作 记录
  • 原文地址:https://www.cnblogs.com/zzqcupidzhq/p/14005567.html
Copyright © 2020-2023  润新知