MySql查询 - 返回过去12个月内不存在的数据

时间:2014-04-09 17:46:49

标签: mysql

我有一个问题。我该怎么写这个查询?我对mysql很新,有时候我很困惑。请帮我。 感谢

"在过去12个月内未在XYZ积累的成年加拿大会员"

我会尝试这样的事情: 从国家/地区=' CA'和acc_score =' N'和Reg_date> DATE_SUB(CURRENT_DATE() - 365);

2 个答案:

答案 0 :(得分:0)

您可以使用DateDiff()函数,

在12个月内累积,

 Select individuals from members 
    where country='CA' 
    and acc_score = 'N' 
    and DATEDIFF(Reg_date,currdate()) between 0 and  365;

在12个月之前累积,

 Select individuals from members 
    where country='CA' 
    and acc_score = 'N' 
    and DATEDIFF(Reg_date,currdate()) >  365;

有关Datediff() here

的其他信息

答案 1 :(得分:0)

SELECT individuals // Select the row names separated by comma, or SELECT * to select all rows 

FROM members //the table name

WHERE country='CA' 
AND acc_score = 'N' 
and DATEDIFF(Reg_date,currdate()) > 365;

根据此查询,您需要一个参数,例如日期,该日期表示在XYZ的user last accumulated时,没有这个参数,您唯一可以使用的是acc_score。

如果 acc_score为0或任何最低金额且用户注册超过12个月,则表示他根本没有在XYZ指责