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

Trả về giá trị mặc định nếu không tìm thấy hàng đơn

Một cách để làm điều đó

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

Vì bạn chỉ trả về một hàng, bạn có thể sử dụng một hàm tổng hợp, trong trường hợp đó là MIN() , điều đó đảm bảo rằng bạn sẽ nhận được NULL nếu không có bản ghi nào được chọn. Sau đó, IFNULL() hoặc COALESCE() sẽ thực hiện công việc của nó.



  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 &bộ lồng nhau:THAM GIA chậm (không sử dụng chỉ mục)

  2. Xử lý lượng lớn dữ liệu trong PHP mà không có thời gian chờ của trình duyệt

  3. Chọn giá trị số gần nhất với truy vấn MySQL

  4. Truy vấn trống lỗi PHP

  5. Làm cách nào để thực hiện di chuyển trong laravel 5.5?