我有一个存储订单元数据的订单表,包括他们的日期,示例数据如下
date |order-id
2010-12-16|106
2010-12-18|112
2009-03-05|115
2009-03-05|122
现在我需要创建文件夹,将同一个月的所有订单分组,并选择当月的第一个订单作为展示,但它似乎总是在下面的查询中选择最后一行
SELECT orders.id, order.date from orders
GROUP BY strftime('%Y-%m', orders.date)
它返回每个月的最后一行
2010-12-18|112
2009-03-05|122
所以我希望它回来
2010-12-16|106
2009-03-05|115
(106:本月早些时候)
(115:与另一个日期相同,但如果我对该月进行排序查询,这将匹配第一个日期)
我尝试了 JOIN 查询,如果我在同一天没有多个订单,它可以工作,但在 2009-03 的情况下,它仍然返回最后一行,而不是第一行......
SELECT o.id, o.date
FROM orders o
JOIN
(SELECT MIN(date) as first_date FROM orders
GROUP BY strftime('%Y-%m', orders.date)
) as sorted_orders
ON o.creation_date=sorted_order.first_date
GROUP BY strftime('%Y-%m', orders.date)
还有什么我可以尝试的吗?