qq_41104373 2022-12-29 17:34 采纳率: 40%
浏览 24

SQL取连续区间的数据

求SQL 取出这个数据,status_date为日期,prod_inst_id为账号,action_type为状态,A为开始,D为结束,A-D是一个过程。需要取出 数据要满足,日期大于在一个月,且跨度的月份要是指定月的账号,(比如action_type=A,status_date=20221023 ;action_type=D,status_date=20221223 )这里有两个月了,指定的月份为11月。

img

  • 写回答

2条回答 默认 最新

  • 流比 2022-12-29 17:45
    关注
    
    SELECT * FROM table
    WHERE action_type IN ('A', 'D')
    AND DATEDIFF(MONTH, status_date, DATEADD(MONTH, 1, status_date)) = 1
    AND MONTH(status_date) = 11
    AND prod_inst_id IN (
      SELECT prod_inst_id
      FROM table
      WHERE action_type = 'A'
      AND status_date BETWEEN '2022-10-23' AND '2022-12-23'
      GROUP BY prod_inst_id
      HAVING COUNT(*) = 2
    )
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月29日

悬赏问题

  • ¥15 VESTA绘图原子颜色显示异常
  • ¥15 天翼云搭建多ip l2tp
  • ¥30 matlab求解刃位错方程
  • ¥15 python实现CAD识图
  • ¥15 如何实现在renpy中创建并应用不同大小尺寸对话框?
  • ¥15 table表格有一列是固定列 滑动到最下面时 固定的那一列有几行没显示出来
  • ¥20 单细胞数据注释时报错
  • ¥20 dify工作流分析sql查询结果
  • ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)
  • ¥15 通过AT指令控制esp8266发送信息