You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hive中获取上月第一天及统计对应数据量的问题求助

Hive统计上月第一天之后的数据条数解决方案

原SQL的问题

  • 函数拼写错误:unix_tmestamp是笔误,正确函数名为unix_timestamp
  • 逻辑完全偏离需求:原SQL仅对当前行的dt做了时间戳转换再转回日期的无效操作,没有计算上月第一天的逻辑

正确SQL写法

根据dt列的数据类型,分两种情况处理:

情况1:dt为DATE类型

SELECT COUNT(*) 
FROM my_table 
WHERE dt > trunc(add_months(current_date(), -1), 'MM');

情况2:dt为字符串类型(格式为yyyyMMdd)

SELECT COUNT(*) 
FROM my_table 
WHERE dt > date_format(trunc(add_months(current_date(), -1), 'MM'), 'yyyyMMdd');

逻辑说明

  • add_months(current_date(), -1):获取当前日期的上月日期
  • trunc(..., 'MM'):将日期截断到当月第一天,即得到上月第一天
  • date_format(..., 'yyyyMMdd'):如果dt是字符串格式,把日期类型的上月第一天转成对应字符串格式,保证类型匹配可以比较

内容的提问来源于stack exchange,提问作者SASUSER

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:45:46