sql >> Databasteknik >  >> RDS >> Mysql

räkna antal rader och få bara den sista raden från en tabell

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

du kan också få den senaste posten med maximalt ID om den är inställd som AUTO_INCREMENT , denna fråga nedan ger samma resultat som frågan ovan,

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


  1. Unik begränsningsöverträdelse under infogning:varför? (Orakel)

  2. Villkorlig INFOGA I MySQL - DÄR INTE FINNS

  3. Lösenordsåterställning Backend-funktionalitet

  4. Ansluter till lokal instans av PostgreSql med JDBC