、GROUP BYのための最後の項目を取得する:どのように私はこのようなテーブル持って
id transaction_id auto_recurring paid_amount package_customerid
37 0 1 0 4
45 37 1 0 4
51 0 1 0 4
57 51 1 0 4
62 0 1 0 4
67 62 1 0 4
がpackage_customer_idの6つのレコードがあります4.今、私はこのケースIDに4の最後のレコードを取得したいです= = 67が私の希望するレコードです。私はこれを試しますSELECT * FROM transactions GROUP BY package_customer_id
。しかし、私はpackage_customer_id = 4の最初のレコードを取得しました。つまり、id = 4は私の取得結果です。どのように私はid = 67(私の希望のレコード)このSQLを変更することができますか?
「グループ化」を使用する場合、必ずしもレコードを戻すわけではありません。選択基準に一致するフィールドの集合が得られます。選択項目( "*"がある)のフィールドは、where句で表現するか、MAXのような集約関数を使用する必要があります。https://dev.mysql.com/doc/refman/5.7/en/group-by -functions.htmlこれを実行しようとすると、MySQLの新しいバージョンでエラーが発生します。 – Jaydee