【发布时间】:2023-03-08 09:24:02
【问题描述】:
我想从表中获取每个类别最近两个月的数据。
表格如下:
ID 年 月 类别 价值1 2019 1 测试1 10
2 2018 12 测试1 10
3 2018 10 测试1 10
4 2018 1 测试2 10
5 2018 12 测试2 10
6 2018 1 测试3 10
预期输出:
1 2019 1 测试1 10
2 2018 12 测试1 10
5 2018 12 测试2 10
4 2018 1 测试2 10
6 2018 1 测试3 10
我尝试使用:
SELECT a.year,a.month,a.value, a.category
FROM test_data AS a
WHERE
(
SELECT COUNT(*)
FROM test_data AS b
WHERE b.category = a.category AND (b.year >= a.year AND b.month >= a.month)) <= 2
ORDER BY a.year DESC, a.month DESC
但它给出了 TEST1 类别的额外记录。我猜是因为它在年度条件下没有按预期工作。请为此提供解决方案
【问题讨论】:
标签: php mysql date select greatest-n-per-group