仅为当年创建的条目从 table 中提取数据

Extract data from a table only for entries created in current year

我有这个查询从 table

中提取考试参与者
(SELECT COUNT(*) 
 FROM course_participants 
 WHERE course_id = courses.id) AS 'totalParticipants'

table 的列 created 的数据类型为 DATETIME;这里为每个参与者存储 date/time 创建日期(例如 2019-01-09 15:51:32)。

如何修改 SELECT 查询以提取仅在 2019 年创建的记录?

谢谢!

只需添加到您的 WHERE 子句:

 SELECT COUNT(*) 
 FROM course_participants 
 WHERE course_id = courses.id 
     AND YEAR(yourDateTimeColumn) = 2019

您可以按如下方式从查询中提取年份,

(SELECT COUNT(*) FROM course_participants WHERE course_id = courses.id 
and YEAR(created) = 2019) as 'totalParticipants'

这是官方的doc


在您的数据库中添加一个名称为年份的列(例如)。

(SELECT COUNT(*) FROM course_participants WHERE course_id = courses.id) and year(created) = 2019) as 'totalParticipants'

享受编码吧!