嗨我在mysql中有玩家表。
我需要选择在联赛中没有参加过6个月比赛的非活动球员。
例如- >
select * from players where player (matchplayed == true && (in last 6 months condition));
我是mysql的新手
所以会有一些帮助如何处理时间。
答案 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进行比较。