Mysql
 sql >> Base de données >  >> RDS >> Mysql

compter le nombre de lignes et obtenir uniquement la dernière ligne d'une table

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

vous pouvez également obtenir le dernier enregistrement par le maximum ID s'il est défini sur AUTO_INCREMENT , cette requête ci-dessous donne le même résultat que la requête ci-dessus,

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