SQL获取每个类别每个月的最后日期



我有一个表,看起来像这样

item.    date.     
a        28/2/22
a        29/2/22
a        16/3/22 
b        31/1/22 
b        26/1/22
b        29/3/22

我想要每个月的最后日期,就像这样…

item   monthYear   monthYear_lastDate
a      Jan-2022      -
a      Feb-2022     29/2/22
a      Mar-2022     16/3/22
b      Jan-2022     31/1/22 
b      Feb-2022      - 
b      Mar-2022     29/3/22

如何编写查询来获取这些信息?有没有可能没有脚手架/使用包含每个月开始和结束日期的辅助表?

输出中某些月份的NULL值是因为该月份的数据在输入中不可用。

select t.item, FORMAT(t.date,"MM-YYYY") AS monthYear FROM t, MAX(date) AS monthYear_lastDate
from tablename t
inner join (
select username, max(date) as monthYear_lastDate
from t
group by item
) tm on t.item = tm.item and t.date = tm.monthYear_lastDate

相关内容

  • 没有找到相关文章

最新更新