我正在尝试在MYSQL数据库中的两个特定日期之间提取订单信息。我正在运行的查询是:
SELECT S.sku, COUNT(*), SUM(S.total), SUM(P.cogs)
FROM shopifyorders AS S JOIN products AS P ON S.sku=P.sku
GROUP BY S.SKU
WHERE S.sale_date BETWEEN "2015-1-01" AND "2015-01-04"
现在这是有问题的一行:
WHERE S.sale_date BETWEEN "2015-1-01" AND "2015-01-04"
我试图查看2015年1月1日到2015年1月4日之间的所有订单,但我一直收到语法错误?
sale_date类型为DATE
为什么我一直收到错误?
修改
所以我有另一个表,我运行了类似的查询:
SELECT SUM(cc_Fee)*-1
FROM shopifyorders AS s JOIN creditcardfees AS c ON s.order_id=c.order_id
WHERE s.sale_date BETWEEN "2015-1-01" AND "2015-01-07"
它工作得很好并且正如预期的那样,它让我相信我在第一个例子中的语法有问题吗?我可以一起使用分组吗?
答案 0 :(得分:1)
正确的查询应如下所示:
SELECT S.sku, COUNT(*), SUM(S.total), SUM(P.cogs)
FROM shopifyorders AS S JOIN products AS P ON S.sku=P.sku
WHERE S.sale_date BETWEEN "2015-1-01" AND "2015-01-04"
GROUP BY S.sku
“GROUP BY”必须在WHERE子句之后。