Reputation: 1332
I was trying to get some data from my database, however I am currently only getting errors.
The query I am trying to do =
SELECT
count(id),
day(created_at),
year(created_at),
month(created_at)
FROM
`orders`
WHERE
day(created_at) = BETWEEN 1 AND 7 month(created_at) = 6
AND year(created_at) = 2014
AND company_id = 1
group by
year(created_at),
month(created_at),
day(created_at)
The days between 1 and 7 will be the days sunday trough saturday to get all orders in that week.
Thanks in advance.
Upvotes: 0
Views: 81
Reputation: 1070
You have SQL Syntax errors , MISSING "AND" and "BETWEEN" not used correctly.
Try the following:-
SELECT COUNT(id), day(created_at), year(created_at), month(created_at)
FROM
`orders`
WHERE day(created_at) BETWEEN 1 AND 7
AND month(created_at) = 6
AND year(created_at) = 2014
AND company_id = 1
GROUP BY year(created_at), month(created_at), day(created_at);
Upvotes: 0
Reputation: 1
you must trim = from your query i write it for you again:
SELECT count(id), day(created_at), year(created_at), month(created_at)
FROM `orders`
WHERE (day(created_at) BETWEEN 1 AND 7)
AND (month(created_at) = 6)
AND (year(created_at) = 2014)
AND (company_id = 1)
group by year(created_at), month(created_at), day(created_at)
Upvotes: 0
Reputation: 18600
Your query syntax is wrong near month(created_at) =
SELECT count(id),
day(created_at),
year(created_at),
month(created_at)
FROM `orders`
WHERE day(created_at) BETWEEN 1 AND 7
AND month(created_at) = 6
AND year(created_at) = 2014
AND company_id = 1
GROUP BY year(created_at),
month(created_at),
day(created_at)
Upvotes: 0
Reputation: 6079
SELECT count(id), day(created_at), year(created_at), month(created_at)
FROM `orders`
WHERE day(created_at) BETWEEN 1 AND 7
AND month(created_at) = 6
AND year(created_at) = 2014
AND company_id = 1
group by year(created_at), month(created_at), day(created_at)
The AND
before month(created_at)
as missed.
Upvotes: 1
Reputation: 15603
Your query is wrong. this should be:
SELECT count(id), day(created_at), year(created_at), month(created_at)
FROM `orders` WHERE day(created_at) BETWEEN 1 AND 7
AND month(created_at) = 6 AND year(created_at) = '2014'
AND company_id = 1
group by year(created_at), month(created_at), day(created_at)
You are using = and BETWEEN at same place which is incorrect.
Upvotes: 1