在多个JOIN上按月分组的查询

时间:2011-10-19 00:02:01

标签: mysql group-by subquery

好的,我按月对一个查询进行分组,因此我得到了一年中每个月的记录,但我需要弄清楚如何执行此操作:基本上按月分组两个不同的JOIN语句。我想在一个查询中尽可能计算每个子表中数量的计数或总和。我可以在php中循环,但我正试图在mysql中找到一种方法。

这是一个示例

SELECT SUM(purchase_quantity),SUM(sales_quantity)
FROM products p
INNER JOIN purchase_order_lines sl ON pl.product_id = p.id
INNER JOIN purchase_orders po ON pl.purchase_order_id = po.id
INNER JOIN sales_order_lines sl ON sl.product_id = p.id
INNER JOIN sales_orders so ON sl.sales_order_id = so.id
GROUP BY YEAR(so.posted & po.posted), MONTH(so.posted & po.posted)

我知道这不会有用,而且逻辑是荒谬的,这不完全是我的数据库的结构,而只是关于事物如何链接以及我想要做什么的想法。我认为必须在SELECT语句中使用子查询来完成,但我还没有想出任何东西。我会继续思考它,但如果有人有任何想法,那就太棒了。

1 个答案:

答案 0 :(得分:0)

因为您对结果进行分组,您将得到一个计数。为什么不尝试运行一个单独的语句来计算结果和一个单独的语句来对它进行分组。