MySQL:计算剩余天数总和小于30的行
我想统计一下表中的用户,他们的订阅将在一个月30天内过期。这是我的密码: 用户数据库 根据上面的DB。应该有3个人,他们的订阅即将到期-约翰,爱丽丝和布鲁斯。我不希望Ken被计算在内,因为他不想订阅更多 以下是我的MySQL代码:MySQL:计算剩余天数总和小于30的行,mysql,date,count,sum,row,Mysql,Date,Count,Sum,Row,我想统计一下表中的用户,他们的订阅将在一个月30天内过期。这是我的密码: 用户数据库 根据上面的DB。应该有3个人,他们的订阅即将到期-约翰,爱丽丝和布鲁斯。我不希望Ken被计算在内,因为他不想订阅更多 以下是我的MySQL代码: SELECT count(id) AS exp_pax, datediff(exp_date,now()) AS day_left FROM labour_db WHERE day_left<=30 好的,代码只选择一行,其中天的总和小于3
SELECT count(id) AS exp_pax,
datediff(exp_date,now()) AS day_left
FROM labour_db
WHERE day_left<=30
好的,代码只选择一行,其中天的总和小于30,但不计算。所以请你们推荐我
关于,按id删除组以获取您的计数
Count将按预期汇总行,但当与GROUPBY子句组合时,将对每个组进行计数。例如,您可以使用它按过期日期进行分组。如果是这样,则需要添加条件,检查过期日期是否小于今天
SELECT COUNT(*) totalCount
FROM user_db
where exp_date <= timestampadd(day, 30, now()) AND
exp_date > NOW()
如果要计算所有记录,其中1过期日期在30天之内,2过期日期不在30天之前,请使用
SELECT count(*) AS exp_pax
FROM user_db
WHERE exp_date<=timestampadd(day, 30, now())
AND exp_date >= now();
Joseph,是的,它确实算数,但也包括过期日期,我不想让它们算数。@Wilf,你必须告诉我们如何确定Ken不应该算数。然后我们可以为您将其转换为SQL。@DMac,只有exp_日期,其中datediff从今天开始小于30,并且不是负值。因为他不想订阅更多-您怎么知道的?@JW,如果他想订阅的话。订阅日期不应该少于今天,是吗?好的,请看下面我的答案。您需要检查exp_date.JW,您的代码也可以工作,绝对像D Mac一样出色。非常感谢。
SELECT count(*) AS exp_pax
FROM user_db
WHERE exp_date<=timestampadd(day, 30, now())
AND exp_date >= now();