我想在MySQL中获取当年的SQL记录

我想在MySQL中获取当年的SQL记录,mysql,Mysql,我正在使用查询 SELECT count(enq.`enquiryId`), Month(enq.`date`), Year(enq.`date`) FROM enquiry enq GROUP BY MONTH(enq.`date`) 但我有全年的记录。 我只想获取当前或任何输入年份(运行时)记录。 请帮助。试试这个: SELECT count(enq.`enquiryId`), Month(enq.`date`), Year(enq.`date`) FROM enquiry enq

我正在使用查询

SELECT count(enq.`enquiryId`), Month(enq.`date`), Year(enq.`date`) 
FROM enquiry enq  
GROUP BY MONTH(enq.`date`)
但我有全年的记录。 我只想获取当前或任何输入年份(运行时)记录。 请帮助。

试试这个:

SELECT count(enq.`enquiryId`), Month(enq.`date`), Year(enq.`date`) 
FROM enquiry enq  
WHERE Year(enq.date)=somevalue    --2015 for example
GROUP BY MONTH(enq.`date`)
试试这个:

SELECT count(enq.`enquiryId`), Month(enq.`date`), Year(enq.`date`) 
FROM enquiry enq  
WHERE Year(enq.date)=somevalue    --2015 for example
GROUP BY MONTH(enq.`date`)

把你的问题放在哪里

select count(enq.`enquiryId`),Month(enq.`date`),Year(enq.`date`) from enq where enq.date =YEAR(NOW()) GROUP BY MONTH(enq.`date`)

把你的问题放在哪里

select count(enq.`enquiryId`),Month(enq.`date`),Year(enq.`date`) from enq where enq.date =YEAR(NOW()) GROUP BY MONTH(enq.`date`)

您应该考虑到,在WHERE中使用函数不会使用任何索引,并且在将来有一个大表时,这将是一个性能问题。更好的做法是,(如果这些列是时间戳列)有两个单独的列(一个是月份,另一个是年份),以避免使用date MySQL函数并避免性能问题。当然,这些列应该有索引来加速查询。您应该考虑到,在WHERE中使用函数不会使用任何索引,并且在将来有一个大表时,这将是一个性能问题。更好的做法是,(如果这些列是时间戳列)有两个单独的列(一个是月份,另一个是年份),以避免使用date MySQL函数并避免性能问题。当然,这些列应该有索引来加速查询。