sql >> Database >  >> RDS >> Mysql

Retourneer een standaardwaarde als een enkele rij niet wordt gevonden

Een manier om het te doen

SELECT IFNULL(MIN(`file`), 'default.webm') `file` 
  FROM `show`, `schedule` 
 WHERE `channel` = 1 AND `start_time` <= UNIX_TIMESTAMP() 
   AND `start_time` > UNIX_TIMESTAMP()-1800 AND `show`.`id` = `schedule`.`file` 
 ORDER BY `start_time` DESC LIMIT 1

Aangezien u slechts één rij retourneert, kunt u een aggregatiefunctie gebruiken, in dat geval MIN() , die ervoor zorgt dat u NULL . krijgt als er geen records zijn geselecteerd. Dan IFNULL() of COALESCE() zal zijn werk doen.



  1. Compressie en de effecten ervan op de prestaties

  2. Gegevens migreren met Network_link

  3. Een PostgreSQL-query exporteren naar een csv-bestand met Python

  4. Gegevensmodel autoreparatiewerkplaats