Escritura de datos estadísticos sql por año, mes y día
Recientemente me he encontrado con el problema de los cálculos estadísticos para el año, mes y día, y no tengo ni idea por un corto tiempo (unos segundos), así que lo resumo y lo registro.
---------- escrito en frente
######
1.先看数据库,我随便找了一个有时间的数据库,没仔细去琢磨,将就用。
2. Primero reconozcamos algunas funciones
uploadtime: 2019-12-08 14:49:30
year (uploadtime) Obtenga el año en el campo de tiempo, el resultado es 2019
month (uploadtime) Obtenga el mes en el campo de tiempo, el resultado es 12
días (uploadtime) Obtenga el día en el campo de tiempo , El resultado es 08
3. Estadísticas por año:
select year(uploadtime) as yy,count(*),sum(filetypeid) from sys_base_fileindex GROUP BY yy
4. Estadísticas por mes:
select year(uploadtime) as yy, month(uploadtime) as mm,count(*),sum(filetypeid) from sys_base_fileindex GROUP BY yy,mm
5. Por estadísticas diarias
select year(uploadtime) as yy, month(uploadtime) as mm,day(uploadtime) as dd ,count(*),sum(filetypeid) from sys_base_fileindex GROUP BY yy,mm,dd
Resumen:
Aquí hay una guía, el orden de múltiples campos de grupo por:
GRUPO POR X significa poner todos los registros con el mismo valor de campo X en un grupo.
GROUP BY X, Y significa poner todos los registros con el mismo valor de campo X y valor de campo Y en un grupo
GROUP BY X, Y, Z significa poner todos los registros con el mismo valor de campo X y valor de campo Y y valor de campo Z Poner registros en un grupo