mysql查询时查询所有会获得所有数据,条件查询时缺只有1000条数据

查询所有

SELECT DATE_FORMAT(START_time,'%Y') time,COUNT(id)

FROM cti_record_files GROUP BY time

图片说明

条件查询

SELECT DATE_FORMAT(START_time,'%Y') time,COUNT(id)

FROM cti_record_files WHERE

DATE_FORMAT(emotional_time, '%Y') >= '2018' 

AND DATE_FORMAT(emotional_time, '%Y') <= '2020'

GROUP BY time

图片说明

这个条件只是对时间做出限制,但所有录音均为超出这个时间段

你第一个统计 是 按 START_time 查询 的
第二个统计 加了 where 条件, 条件是 emotional_time , 那就筛选了数据

如果你这样查询 , 数据应该是 9994


SELECT DATE_FORMAT(START_time,'%Y') time,COUNT(id)
FROM cti_record_files WHERE
DATE_FORMAT(START_time, '%Y') >= '2018' 
AND DATE_FORMAT(START_time, '%Y') <= '2020'
GROUP BY time

想看数据区别, 这样跑一下,就有能看出不同分类的统计了。


SELECT DATE_FORMAT(START_time,'%Y') start_time_year,
DATE_FORMAT(emotional_time, '%Y')   emotional_time_year,
COUNT(id)

FROM cti_record_files GROUP BY start_time_year , emotional_time_year
order by start_time_year , emotional_time_year


看看查询出的结果是不是分页了

有何不可的回答是正确的,过滤条件不一样