MYSQL查询:在2个特定日期之间搜索MYSQL数据库

时间:2015-01-21 18:59:00

标签: mysql

我正在尝试在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"

它工作得很好并且正如预期的那样,它让我相信我在第一个例子中的语法有问题吗?我可以一起使用分组吗?

1 个答案:

答案 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子句之后。