我有一个由连接和一些条件创建的下表:
product_id date
11111 2012-06-05
11111 2012-05-01
22222 2011-05-01
22222 2011-07-02
33333 2011-01-01
我正在尝试获取行,以便我有一个包含每个产品最新日期的结果集:
GOAL
product_id date
11111 2012-06-05
22222 2011-07-02
33333 2011-01-01
我可以按原样提取数据并进行手动排序,但我宁愿不这样做。我似乎无法找到一种方法来执行 SELECT MAX() 而不只返回一行,而且我宁愿不为每个产品 ID 运行查询。
该表由此查询生成:
SELECT item_id, sales_price, item, description, transaction_date
FROM db.invoice_line AS t1 INNER JOIN db.invoices AS t2
ON t1.invoice_id = t2.id_invoices WHERE item IS NOT NULL
AND item_id != '800001E9-1325703142' AND item_id != '800002C3-1326830147'
AND invoice_id IN
(SELECT id_invoices FROM db.invoices
WHERE customer_id = '[variable customer id]'
AND transaction_date >= DATE_SUB(NOW(), INTERVAL 360 DAY));
我使用连接来“添加”日期列。之后,我不理会无用的物品,并从一年前至今的特定客户的发票中进行选择。
感谢您的任何指导。
丹麦人