sql >> データベース >  >> RDS >> Mysql

行数をカウントし、テーブルから最後の行のみを取得します

    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
    

    最大のIDで最新のレコードを取得することもできます AUTO_INCREMENTとして設定されている場合 、以下のこのクエリは、上記のクエリと同じ結果をもたらします。

    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. PHPを使用したSQLクエリの検証

    2. PHPでMySQL行を更新するにはどうすればよいですか?

    3. MySQLで現在の行と前の行の時間差を計算する方法

    4. postgresqlのcolumn_idに似たものはありますか?