我有一个Mysql数据库,其中包含五年后志愿者的姓名和日期列表。我将使用什么声明来生成特定日期之后的新名称列表(即过去没有自愿参加过的人)。
这是一个例子,我有一份100名不同志愿者的名单,他们在5年至今的不同日期多次自愿参加。有些人可能自愿参加过一次,其他人有5次,等等.Dave是一名新志愿者,于2015年2月6日自愿参加。我希望在2014-11-29之后生成一份新的志愿者名单。这个列表只会在这个例子中获取Dave的名字。
答案 0 :(得分:1)
试试这个:
SELECT name
FROM your_table
WHERE column_date < DATE_SUB(NOW(), INTERVAL 5 YEAR);
或者:
SELECT name
FROM your_table
WHERE column_date < DATE_SUB(CURDATE(), INTERVAL 5 YEAR);
编辑(评论后):
试试这个:
SELECT DISTINCT aa.name
FROM your_table AS aa
WHERE aa.id NOT IN (
SELECT id
FROM your_table
WHERE column_date < '2014-11-29'
);