Curso de MySQL
Consultas, lista de correo 'C++ Con Clase' 'MySQL Con Clase' página de entrada Tabla de contenido Contactar con Webmaster
Curso Sentencias Funciones API C

SQL

Funciones

Matemáticas Tiempo ADDDATE ADDTIME CONVERT_TZ CURDATE CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURTIME DATE DATEDIFF DATE_ADD DATE_FORMAT DATE_SUB DAY DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR EXTRACT FROM_DAYS FROM_UNIXTIME GET_FORMAT HOUR LAST_DAY LOCALTIME LOCALTIMESTAMP MAKEDATE MAKETIME MICROSECOND MINUTE MONTH MONTHNAME NOW PERIOD_ADD PERIOD_DIFF QUARTER SECOND SEC_TO_TIME STR_TO_DATE SUBDATE SUBTIME SYSDATE TIME TIMEDIFF TIMESTAMP TIMESTAMPADD TIMESTAMPDIFF TIME_FORMAT TIME_TO_SEC TO_DAYS UNIX_TIMESTAMP UTC_DATE UTC_TIME UTC_TIMESTAMP WEEK WEEKDAY WEEKOFYEAR YEAR YEARWEEK Cadena Conversión Control de Flujo Encriptado Información Genéricas GROUP BY

COUNT

COUNT(expr)

Devuelve un contador con el número de valores distintos de NULL en las filas recuperadas por una sentencia SELECT:

mysql> SELECT student.student_name,COUNT(*)
    ->        FROM student,course
    ->        WHERE student.student_id=course.student_id
    ->        GROUP BY student_name;

COUNT(*) es algo diferente en que devuelve un contador con el número de filas recuperadas, contengan o no valores NULL. COUNT(*) está optimizado para regresar mucho más rápido si la sentencia SELECT recupera de una tabla, no se piden otras columnas y no exite cláusula WHERE. Por ejemplo:

mysql> SELECT COUNT(*) FROM student;

Esta optimización se aplica sólo a tablas MyISAM y ISAM, ya que se almacena un registro de cuenta exacto para estos tipos de tabla y puede ser accedida muy rápidamente. Para máquinas de almacenamiento transaccionales (InnodB, BDB), almacenar una fila de cuenta exacta es más problemático porque pueden ocurrir múltiples transacciones, y cada una puede afectar a la cuenta.

Si se usa una función de grupo en una sentencia que contenga la cláusula GROUP BY, equivale a agrupar todas las filas.