2014-10-12 124 views
2

我想记录特定年份的所有记录。 我的表是race_details而今年是race_date日期的一部分(在UNIX时间戳)如何比较年份与时间戳记日期

SELECT * 
FROM race_details AS r 
WHERE r.race_date=(SELECT MAX(YEAR(FROM_UNIXTIME(race_date))) 
        FROM race_details) 

回答

1

您需要一年比较race_date,而不是整个race_date的:

WHERE YEAR(race_date) = (SELECT ...) 
+0

谢谢,但是我在两个表中有列race_date,我需要指定r.YEAR(race_date),但它不起作用 – dragomir 2014-10-13 07:00:19

+0

它应该是'YEAR(r.race_date)'。 – Barmar 2014-10-13 16:59:53

3

除非有更多的问题,我觉得你过于复杂查询:

SELECT * 
FROM race_details AS r 
WHERE YEAR(race_date) = 2014; 

替代2014在一年中查找,如果它是一个变量,请记住参数化!