Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chọn dữ liệu có thứ tự ngày tối đa theo trường khác

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. Tại sao java.sql.DriverManager.getConnection (...) bị treo?

  2. Hệ thống đăng ký PHP sẽ không hoạt động (phpmyadmin, wampserver)

  3. Làm thế nào để lấy các tham số đầu ra từ thủ tục lưu trữ MySQL trong Rails?

  4. MYSQL GROUP BY và ORDER BY không hoạt động cùng nhau như mong đợi

  5. SQL:Nhận các bản ghi đáp ứng các điều kiện đến từ nhiều bản ghi