weixin_41830244 2021-05-04 17:33 采纳率: 0%
浏览 30

mysql中用@做参数判断,第一次排序无法排,第二次才能排序,请问为啥

SELECT
IF
    (
        @o = user_id 
        AND @p = module_id,
    CASE
            
            WHEN @s != t.DT_CREATE THEN
            @r := @r + 1 ELSE @r 
        END,
        @r := 1 
    ) AS fff,
    @o := user_id,
    @p := module_id,
    @s := dt_create 
FROM
    dbscale.tb_user_exercise_record t,(
    SELECT
        @p := NULL,
        @o = NULL,
        @s = NULL,
        @r = 1 
    ) a 
ORDER BY
    user_id,
    module_id,
    dt_create DESC

 

类似rownumber over partition by,第一次失效,第二次才行,来个万能的大佬,或者操作过的大佬讲下

  • 写回答

1条回答 默认 最新

  • 久绊A 全栈领域新星创作者 2023-01-22 17:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。