How to Select the Last 6 Months from a Records Table Using MySQL

Last updated 6 days, 11 hours ago | 25 views 75     5

Tags:- MySQL

When working with a records table that contains a datetime column in MySQL, you might need to retrieve records from the last six months. This can be easily achieved using the DATE_SUB function.

MySQL Query

SELECT * 
FROM records
WHERE datetime >= DATE_SUB(NOW(), INTERVAL 6 MONTH);

Explanation

  1. NOW(): Returns the current date and time.

  2. DATE_SUB(NOW(), INTERVAL 6 MONTH): Subtracts six months from the current date and time.

  3. WHERE Clause: Filters records where the datetime column is greater than or equal to the date calculated in the previous step.

Why Use This Approach?

  • Efficient Filtering: It allows you to efficiently filter records without manually specifying date ranges.

  • Dynamic Handling: It adapts to the current date and automatically fetches the relevant data from the last six months.

Additional Tips

  • Ensure the datetime column is in the correct DATETIME or TIMESTAMP format.

  • You can modify the interval based on your requirements, such as INTERVAL 3 MONTH or INTERVAL 1 YEAR.

  • Indexing the datetime column can improve query performance, especially for large datasets.

Conclusion

Using DATE_SUB in MySQL provides a simple and effective way to select records from the last six months. This approach is both dynamic and adaptable, making it suitable for various date-based filtering tasks in MySQL.