根据时间或两个日期从Php / Mysql中的表中选择行?

时间:2012-05-11 06:30:29

标签: php mysql phpmyadmin

嗨我在mysql中有玩家表。

我需要选择在联赛中没有参加过6个月比赛的非活动球员。

例如

- >

select * from players where player (matchplayed == true && (in last 6 months condition));

我是mysql的新手

所以会有一些帮助如何处理时间。

3 个答案:

答案 0 :(得分:5)

这样的事情可能有用:

SELECT * from players where player_matchplayed == true
 && lastmatch_played_date > DATE_SUB(curdate(),INTERVAL 6 MONTH);

DATE_SUB(curdate(),INTERVAL 6 MONTH)将为您提供自当前日期起最后六个月的间隔。您可以使用哪个来检查lastmatch_playeddate是否大于。

希望这有帮助。

答案 1 :(得分:3)

尝试使用此查询

SELECT * FROM players
WHERE matchplayed IS NOT NULL
AND last_match < NOW() - INTERVAL 6 MONTH

last_match是一个mysql DATE字段,带有最后一个匹配信息
matchplayed为NULL(未播放)或已播放的其他值

答案 2 :(得分:2)

查看mysql日期/时间函数:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

我认为DATE_SUB可以完成这项工作,也可以用DATE_DIFF进行比较。