sql >> Database teknologi >  >> RDS >> Mysql

Returner en standardværdi, hvis en enkelt række ikke findes

En måde at gøre det på

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

Da du kun returnerer én række, kan du bruge en aggregeret funktion, i så fald MIN() , der sikrer, at du får NULL hvis der ikke er valgt nogen poster. Derefter IFNULL() eller COALESCE() vil gøre sit arbejde.



  1. Beregning af forskel mellem to tidsstempler i Oracle i millisekunder

  2. pyodbc - meget langsom bulk indsættelseshastighed

  3. SQL OR Operator for begyndere

  4. Mysql - opret forbindelse til fjernserver ved hjælp af IP-adresse