数据筛选问题,同地市保留每个月的最后一天数据

image.png同地市每个月都只保留会有一天的数据,最后一天不一定是一个月的最后一天,而是数据表里数据时间的最后一天(比如说三月数据只到25号,那最后一天就是25号非31号)

用户jGnXs7014103 发布于 2022-6-14 15:38 (编辑于 2022-6-14 15:45)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-6-14 15:41(编辑于 2022-6-14 15:59)

image.png

不过这种情况最好用SQL处理

SELECT 城市,max(数据时间) FROM TABLE GROUP BY 城市

-------------------

with  A AS (

SELECT 'A' [A],'2022-05-01' [B]

UNION ALL

SELECT 'A' [A],'2022-05-07' [B]

UNION ALL

SELECT 'A' [A],'2022-06-08' [B]

UNION ALL

SELECT 'A' [A],'2022-06-09' [B]

UNION ALL

SELECT 'B' [A],'2022-06-08' [B]

UNION ALL

SELECT 'B' [A],'2022-06-09' [B]

UNION ALL

SELECT 'C' [A],'2022-05-01' [B]

UNION ALL

SELECT 'D' [A],'2022-05-01' [B]

)

SELECT A,LEFT(B,7) [S],MAX(B) FROM A GROUP BY A,LEFT(B,7) ORDER BY 1

image.png

最佳回答
0
用户W4933403Lv5见习互助
发布于2022-6-14 15:46

select t.地市,t.数据时间

from table t

inner join (select 地市,year(数据时间) 年,month(数据时间) 月,max(day(数据时间)) 日

                from table group by 地市,year(数据时间),month(数据时间)) t1

on year(数据时间)=年 and month(数据时间)=月 and day(数据时间)=日

-- 不同数据库用不同时间函数替换

最佳回答
0
梦似幻亦真Lv3见习互助
发布于2022-6-14 15:47(编辑于 2022-6-14 15:50)

SELECT 城市,max(数据时间),数据时间的月份 FROM TABLE GROUP BY 城市,数据时间的月份

如果会跨年的话年份也要GROUP BY

最佳回答
0
CD20160914Lv8专家互助
发布于2022-6-14 15:53

mysql中类似这样

SELECT max(时间) as 最大时间 FROM 表名称  GROUP BY left(时间,7)

  • 4关注人数
  • 341浏览人数
  • 最后回答于:2022-6-14 15:59
    请选择关闭问题的原因
    确定 取消
    返回顶部