我想从表中获取每个类别的最后两个月的数据。
表看起来像:
Id 年月类别值
1 2019 1 TEST1 10
2 2018 12 TEST1 10 3 2018
10 TEST1 10
4 2018 1 TEST2 10
5 2018 12 TEST2 10
6 2018 1 TEST3 10
预期输出:
Id 年月类别值
1 2019 1 TEST1 10
2 2018 12 TEST1 10
5 2018 12 TEST2 10
4 2018 1 TEST2 10
6 2018 1 TEST3 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 类别的额外记录。我猜是因为它在年度条件下没有按预期工作。请为此提供解决方案
侃侃无极