需要显示连续的未预订,但是我的少了个9,10,帮忙看看哪错了

select SEAT,L_SEAT from (

select *,

LAG(SEAT) OVER(ORDER BY SEAT) L_SEAT,

LAG(STATUS) OVER(ORDER BY SEAT) L_STATUS from ks2) a

WHERE status='未预订' AND L_STATUS='未预订'

image.pngimage.png

SQL yzmfKZXQ1464691 发布于 2022-8-3 15:49
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
Z4u3z1Lv6专家互助
发布于2022-8-3 16:08

seat是字符串 不是数字

image.png

image.png

  • yzmfKZXQ1464691 yzmfKZXQ1464691(提问者) 为啥我这个报错啊 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'int,seat) ) L_SEAT, LAG(STATUS) OVER(ORDER BY CONVERT(int,seat) ) L_STATUS from\' at line 3
    2022-08-03 16:28 
  • Z4u3z1 Z4u3z1 回复 yzmfKZXQ1464691(提问者) mysql?? 它没得convert()函数 用TO_NUMBER函数将字符转换为数字
    2022-08-03 16:30 
  • yzmfKZXQ1464691 yzmfKZXQ1464691(提问者) 回复 Z4u3z1 我用的是mysql 8数据库,好像有convert函数吧
    2022-08-03 16:36 
  • Z4u3z1 Z4u3z1 回复 yzmfKZXQ1464691(提问者) 没用过,你自己找一下资料看怎么转换吧
    2022-08-03 16:40 
  • Z4u3z1 Z4u3z1 回复 yzmfKZXQ1464691(提问者) 要不就 order by seat*1 吧
    2022-08-03 16:41 
最佳回答
0
3143511Lv5中级互助
发布于2022-8-3 16:33

直接将转换后的数据全部查询出来看看,哪里有问题,我用Excel看了,应该有10、9的

1659515599301.png

  • 2关注人数
  • 1858浏览人数
  • 最后回答于:2022-8-3 16:33
    请选择关闭问题的原因
    确定 取消
    返回顶部