缱绻命运 2023-06-10 11:03 采纳率: 0%
浏览 22
已结题

MySQL对数据表的循环操作和时间段相关操作如何实现


SELECT dt1, dt2 FROM(
SELECT
@dt1 as dt1, 
@dt1 := @dt1 + INTERVAL 6 MONTH, 
CASE 
    WHEN RIGHT(LEFT(@dt1,7),2) > "8" THEN
        CAST(CONCAT_WS('-',LEFT(@dt1,4),LEFT(@dt1,4)+1) AS CHAR(10000) CHARACTER SET utf8)
    WHEN RIGHT(LEFT(@dt1,7),2) <= "8" THEN
        CAST(CONCAT_WS('-',LEFT(@dt1,4)-1,LEFT(@dt1,4)) AS CHAR(10000) CHARACTER SET utf8)
END as xn,
CASE 
    WHEN RIGHT(LEFT(@dt1,7),2) <= 8 THEN
        "1"
    WHEN RIGHT(LEFT(@dt1,7),2) > 8 THEN    
        "2"
END as xq
CASE WHEN @dt1 <= @dt2 THEN @dt ELSE  @dt2 END as dt2
FROM( SELECT @dt1:=CAST(gzrq as date), @dt2:=CAST( DATE_ADD(jcrq, INTERVAL 6 MONTH) as date) FROM T_ZDGZ ORDER BY gzrq ASC ) _x,
(SELECT @dt1:=NULL, @dt2:=NULL) vars
WHERE @dt1 <= @dt2
) A

img

这段sql语句只会对T_ZDGZ 数据表的最后一条记录进行计算,应该如何做才能实现对T_ZDGZ 数据表的每一条记录都进行相关计算,各位学霸们有谁知道吗

  • 写回答

2条回答 默认 最新

  • 喝茶品人生 2023-06-10 11:16
    关注
    
    SELECT dt1, dt2 FROM(
        SELECT
        @dt1 as dt1,
        @dt1 := @dt1 + INTERVAL 6 MONTH,
        CASE
            WHEN RIGHT(LEFT(@dt1,7),2) > "8" THEN
                CAST(CONCAT_WS('-',LEFT(@dt1,4),LEFT(@dt1,4)+1) AS CHAR(10000) CHARACTER SET utf8)
            WHEN RIGHT(LEFT(@dt1,7),2) <= "8" THEN
                CAST(CONCAT_WS('-',LEFT(@dt1,4)-1,LEFT(@dt1,4)) AS CHAR(10000) CHARACTER SET utf8)
        END as xn,
        CASE
            WHEN RIGHT(LEFT(@dt1,7),2) <= 8 THEN
                "1"
            WHEN RIGHT(LEFT(@dt1,7),2) > 8 THEN
                "2"
        END as xq,
        CASE WHEN @dt1 <= @dt2 THEN @dt1 ELSE  @dt2 END as dt2
        FROM(
            SELECT
            @dt1:=CAST(gzrq as date),
            @dt2:=CAST( DATE_ADD(jcrq, INTERVAL 6 MONTH) as date)
            FROM T_ZDGZ
            ORDER BY gzrq ASC
        ) _x,
        (SELECT @dt1:=NULL, @dt2:=NULL) vars
        WHERE @dt1 <= @dt2
    ) A
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月18日
  • 创建了问题 6月10日

悬赏问题

  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败