sql查询显示本月创建的记录

时间:2016-06-28 12:33:36

标签: mysql sql

我想写一个sql查询,它必须显示上个月才创建的记录...例如,如果这个月是6月,我希望查询显示May的记录。

这是我的查询但不起作用。

SELECT COUNT(*) AS stdtotal_today FROM `login`
WHERE `login_account_type` = 'STUDENT' 
AND `account_created_date` = CURDATE() - 30

请注意,login是表名,account_created_date是日期类型的列名。

2 个答案:

答案 0 :(得分:4)

试试这个:

SELECT * FROM `login`
WHERE `login_account_type` = 'STUDENT'  AND YEAR(`account_created_date`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
AND MONTH(`account_created_date`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)

答案 1 :(得分:1)

试试这个......

SELECT COUNT(*) AS stdtotal_today FROM `login` WHERE account_created_date
BETWEEN DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00') AND DATE_FORMAT(LAST_DAY(NOW() - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59')