I'm writing an ecommerce app and im writing a script to track the sales of items according to year/month.
I used this query here to get the distinct year-month dates from the table.
SELECT DISTINCT CONCAT(YEAR(date),'-',MONTH(date)) FROM product_purchases WHERE product_id = 1
Which would give me an output like so
2017-11
2017-12
What im trying to accomplish next is to select data that match that year and month, for example 2017-11.
I've tried this query which returned 0 rows
SELECT * FROM product_purchases WHERE DATE(date) = '2017-12'
What would be the right way to go about doing this?
Replace your where
statement with this
CONCAT(YEAR(date),'-',MONTH(date)) = '2017-12'.
ie
SELECT * FROM product_purchases WHERE CONCAT(YEAR(date),'-',MONTH(date)) = '2017-12'
You can do this ultimately.
Select * from (SELECT DISTINCT CONCAT(YEAR(date),'-',MONTH(date)) as NewDate,Product_Id,
Product_Name FROM product_purchases WHERE product_id = 1) where NewDate='2017-12'
要查找某个月的记录,请将where子句更新为:
where CONCAT(YEAR(date),'-',MONTH(date)) = '2017-12'
DATE(date)
will generate the full date format, which is not equivalent to '2017-12'. Try this instead:
WHERE CONCAT(YEAR(date),'-',MONTH(date)) = '2017-12'
Or this:
WHERE YEAR(date) = 2017 AND MONTH(date) = 12
Of course your query returns 0 row. Problem comes with your condition. It should be:
SELECT * FROM product_purchases WHERE YEAR(date) = '2017' AND MONTH(date) = '12'
If you want data just to filter by year and month, use date_format
on date column to match with desired year and month.
Example :
where date_format( date_column, '%Y-%m' ) = '2017-12'
If you want to summarize data by year and month, use group by
on the format.
Example :
group by date_format( date_column, '%Y-%m' )
SELECT * FROM oc_customer WHERE MONTH( date_added
)= 1 AND YEAR( date_added
)= 2016
这将是你的意思
WHERE YEAR(date) = 2017 AND MONTH(date) = 12
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.