具有计数、求和和和分组依据的SQL查询
如果有人有时间回答,请快速提问。当前的查询非常有效,但我还需要获得订单总数和总发货量。我知道这些数字因为连接而被忽略了 我知道我的计数和总数是:具有计数、求和和和分组依据的SQL查询,sql,count,group-by,Sql,Count,Group By,如果有人有时间回答,请快速提问。当前的查询非常有效,但我还需要获得订单总数和总发货量。我知道这些数字因为连接而被忽略了 我知道我的计数和总数是: count(DISTINCT orders.id) AS num_orders, SUM(orders.shipping_cost_ex_tax) AS shipping 我想我需要在原始的select中使用count和sum,在join中处理其余的部分,但是我的一生都无法正确地处理这个问题 任何帮助都将不胜感激,即使是“运行单独的查询”。谢谢大家
count(DISTINCT orders.id) AS num_orders,
SUM(orders.shipping_cost_ex_tax) AS shipping
我想我需要在原始的select中使用count和sum,在join中处理其余的部分,但是我的一生都无法正确地处理这个问题
任何帮助都将不胜感激,即使是“运行单独的查询”。谢谢大家
当前查询:SELECT
IF(products.categories LIKE '68', 'Shirts', 'Books') AS group_key,
CONCAT(order_products.name) AS product_name,
brands.name AS author,
SUM(order_products.quantity) AS num_units,
CASE WHEN products.sku LIKE '%-WB' THEN 'Combo'
WHEN products.sku LIKE '%-BO' THEN 'Box'
ELSE ''
END AS item_type,
SUM(IF(order_products.discount IS NULL, order_products.price_ex_tax, (order_products.price_ex_tax - order_products.discount))) AS income
FROM orders
INNER JOIN order_products ON order_products.bc_order_id = orders.bc_id
INNER JOIN products ON order_products.bc_product_id = products.bc_id
INNER JOIN brands ON products.brand_id = brands.bc_id
WHERE (orders.created_at BETWEEN '2012-01-28 00:00:00' and '2012-02-21 23:00:00')
GROUP BY group_key,
case when products.brand_id = '68'
then products.name
else products.sku
end
查看提供的评论,我面前没有完整的模式。你喜欢这项工作吗
Table Report
(
id,
countOrders,
countSales,
countShipping,
countTax,
datePublished
)
Table SoldProducts
(
id,
price,
tax,
shippingPrice,
datePurchased
)
因此,在本例中,您要做的是通过查询
SoldProducts
生成一个报告,然后将生成的报告持久化 你在使用什么样的SQL产品?如果连接让你感到厌烦,而不是所有其他的恶作剧,我会尝试用子查询来重新处理它,这些子查询可以完成更小的部分工作。此外,您的收入
可以写为总和(订单产品.价格.税前-合并(订单产品.折扣,0))
,您的CONCAT(订单产品.名称)
与刚才的订单产品.名称
相同。谢谢Daniel。我应该知道,但我没有。对不起,我应该澄清一下。这是一个显示给定时间段内销售额的管理报告。第一部分只是总体合计(订单数量、总销售额、总发货量、总税费)。下面是销售产品的分类,包括总销售额和每种产品的单位数。@ChrisYount我更新了我的回复,随着这些报告的生成,这可能会使事情变得更容易。