【发布时间】:2014-06-26 11:24:32
【问题描述】:
我有两张桌子。以下是一些将在查询中使用的字段。
tgc_sales (code,sale_date_time, order_status)
tgc_sales_items (sales_code, quantity, product_name, product_code)
我想要的是在特定时间段(比如一周、一个月等)内获得销量最高的产品。
到目前为止我尝试了什么:
SELECT SUM(tsi.quantity) AS quantity, tsi.product_name AS product_name
FROM tgc_sales_items tsi
JOIN tgc_sales ts ON ts.code = tsi.sales_code
WHERE DATE(ts.sale_date_time)>='2014-05-01'
AND ts.order_status='Completed'
GROUP BY tsi.product_code
ORDER BY quantity DESC LIMIT 10
显然,查询是错误的,它给了我意想不到的结果。当我忽略 JOIN 和 WHERE 子句时,它会向我显示最畅销的产品,但我需要它用于特定时期的销售,我不知道该怎么做。
【问题讨论】:
-
sales_date_time的类型是什么?请使用一些示例值编辑问题。 -
如果您删除聚合 SUM(),您是否会获得与项目相关的正确数量值?
标签: mysql sql select join group-by