我有一个表,看起来像这样
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