sql >> Base de Datos >  >> RDS >> Mysql

cuente el número de filas y obtenga solo la última fila de una tabla

SELECT  a.*, b.numOfTakingExams
FROM    employeeExam a
        INNER JOIN
        (
            SELECT  employee_id,
                    MAX(date) max_Date,
                    COUNT(*) numOfTakingExams 
            FROM    employeeExam
            GROUP BY course_ID, employee_id
        ) b ON  a.employee_id = b.employee_id AND
                a.date = b.max_Date

también puede obtener el último registro por el máximo ID si está configurado como AUTO_INCREMENT , esta consulta a continuación produce el mismo resultado que la consulta anterior,

SELECT  a.*, b.numOfTakingExams
FROM    employeeExam a
        INNER JOIN
        (
            SELECT  employee_id,
                    MAX(id) max_Date,
                    COUNT(*) numOfTakingExams 
            FROM    employeeExam
            GROUP BY course_ID, employee_id
        ) b ON  a.employee_id = b.employee_id AND
                a.id = b.max_Date