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

MySQL SELECT id của hàng trong đó TUYỆT VỜI NHẤT trong số MAX mục nhập của một số cột

một cách để làm điều đó sẽ là lưu trữ ngày của bạn trong một biến-do người dùng xác định. thì bạn có thể sử dụng nó để lấy ra id cho ngày lớn nhất

SET @A := (SELECT GREATEST(
                     IFNULL(max(date1), 0),
                     IFNULL(max(date2), 0),
                     IFNULL(max(date3), 0)
                  ) FROM table1
           );
-- here i JOIN a select that pulls out the correct id
SELECT t.joinid, max(`date1`), max(`date2`), max(`date3`)
FROM table1
JOIN 
(   SELECT id as joinid 
    FROM table1
    WHERE @A IN -- WHERE my MAX date is in
    (
        SELECT date1 -- here the UNION is just putting all of the dates into one column to compare one date with
        UNION ALL SELECT date2
        UNION ALL SELECT date3
    )
) t -- every table must have an alias

FIDDLE DEMO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điều gì thúc đẩy thứ tự kết quả tự nhiên cho một yêu cầu MySQL không có thứ tự

  2. MySQL tham gia các bảng trong đó tên bảng là một trường của một bảng khác

  3. Làm thế nào để triển khai một hệ thống bình luận lồng nhau?

  4. Danh sách thả xuống được phổ biến động PHP MySQL

  5. Tính toán trung bình động MySQL