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

MySQL SELECT id dari baris di mana entri TERBESAR dari MAX dari beberapa kolom

cara untuk melakukannya adalah dengan menyimpan tanggal Anda dalam variabel yang ditentukan pengguna. maka Anda dapat menggunakannya untuk mengeluarkan id untuk tanggal terbesar

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

DEMO FIDDLE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql PHP Cron untuk memperbarui statistik pengguna

  2. SQL:NOT IN alternatif untuk memilih baris berdasarkan nilai baris *berbeda*?

  3. Menggabungkan SELECT DISTINCT dengan UNION DISTINCT di MySQL - efek apa saja?

  4. Bagaimana cara mentranspos baris ke kolom dengan data dalam jumlah besar di BigQuery/SQL?

  5. Memanggil prosedur tersimpan yang ditentukan pengguna dari pernyataan pilih mysql