Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih data dengan pesanan tanggal maks menurut bidang lain

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table 
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,reg_no CHAR(4) NOT NULL
,payment INT NOT NULL
,payday DATE NOT NULL
);

INSERT INTO my_table VALUES
(1,'S001',100,'2017/01/01'),
(2,'S001',500,'2017/02/01'),
(3,'S002',400,'2017/01/01'),
(4,'S002',1000,'2017/11/01');

SELECT x.* 
  FROM my_table x 
  JOIN 
     ( SELECT reg_no
            , MAX(payday) payday 
         FROM my_table 
        GROUP 
           BY reg_no
     ) y 
    ON y.reg_no = x.reg_no 
   AND y.payday = x.payday;
+----+--------+---------+------------+
| id | reg_no | payment | payday     |
+----+--------+---------+------------+
|  2 | S001   |     500 | 2017-02-01 |
|  4 | S002   |    1000 | 2017-11-01 |
+----+--------+---------+------------+
2 rows in set (0.01 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan Tidak dapat terhubung ke server MySQL lokal melalui kesalahan soket '/var/run/mysqld/mysqld.sock' saat mengatur database mysql untuk aplikasi Ruby on Rails

  2. mysql group_concat tidak membawa seluruh data

  3. Bagaimana cara membagi string nama di mysql?

  4. Bisakah transaksi simultan mengganggu satu sama lain? php/mysql

  5. Menghitung titik mana (lintang, bujur) yang berada dalam jarak tertentu di mysql?