SELECT COUNT(*)
FROM TABLE1
WHERE YEAR(START_DATE) = 2012;
与上一年分开的查询:
SELECT COUNT(*)
FROM TABLE1
WHERE YEAR(START_DATE) = 2011;
要明智地计算年份:
SELECT COUNT(b.YEAR), b.YEAR
FROM TABLE1 AS a JOIN
(SELECT DISTINCT YEAR(START_DATE) AS YEAR from TABLE1) AS b
ON YEAR(START_DATE) = b.YEAR
GROUP BY b.YEAR;
33
两个建议:
您可以使用日期过滤数据:
select count(*) from tbl where start_date >= '2012-01-01'
要么
select count(*) from tbl where start_date between '2012-01-01' and '2012-12-31'
此外,您可以使用 year() 函数过滤数据:
select count(*) from tbl where year(start_date) = 2012
3 回答
您可能希望使用YEAR函数从日期获取YEAR并使用相同的值 .
与上一年分开的查询:
要明智地计算年份:
两个建议:
您可以使用日期过滤数据:
要么
此外,您可以使用
year()
函数过滤数据:希望这对你有所帮助
如果您使用的是PHP(或任何其他高级编程语言),则可以在运行时构建查询字符串以满足您的需求(例如,过滤不同年份的记录) .
要在2012年之前显示
start_date
的记录数,只需更改where
条件:要么