Ahmad Naser Turnkey Ecosystem Ahmad Naser
April 7, 2022

Filter rows by year and months in mysql

Published in the Ahmad Naser ecosystem. Estimated reading time: 2 minutes.

in order to display counts for items per month and year

SELECT YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created)), COUNT(user_notifications.created) 
FROM user_notifications
WHERE `user_id` = 17
GROUP BY YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created))
ORDER BY YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created))

to make it looks better

SELECT YEAR(FROM_UNIXTIME(user_notifications.created)) as year, MONTH(FROM_UNIXTIME(user_notifications.created)) as month, COUNT(user_notifications.created) as count  
FROM user_notifications
WHERE `user_id` = 17
GROUP BY YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created))
ORDER BY YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created))

to list all items according to year and month

SELECT YEAR(FROM_UNIXTIME(user_notifications.created)) as year, MONTH(FROM_UNIXTIME(user_notifications.created)) as month, user_notifications.*
FROM user_notifications
WHERE `user_id` = 17

ORDER BY YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created))

to filter results by year or by month you can write the following query

SELECT YEAR(FROM_UNIXTIME(user_notifications.created)) as year, MONTH(FROM_UNIXTIME(user_notifications.created)) as month, user_notifications.*
FROM user_notifications
WHERE `user_id` = 17 and YEAR(FROM_UNIXTIME(user_notifications.created)) = 2022 and MONTH(FROM_UNIXTIME(user_notifications.created)) = 4

ORDER BY YEAR(FROM_UNIXTIME(user_notifications.created)), MONTH(FROM_UNIXTIME(user_notifications.created))

Leave a Reply

Your email address will not be published. Required fields are marked *