返回空结果集的默认值
查询数据库时,通常会处理找不到匹配行的情况。为了避免空结果,您可以返回默认值。
在您的情况下,您希望为流选择下一个计划项目。如果没有安排项目,您需要一个默认值以确保流播放内容。
您尝试使用 COALESCE 和 IFNULL 但没有成功。但是,有一种稍微不同的方法可以工作:
<code class="sql">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</code>
通过使用 MIN() 作为聚合函数,可以确保在未选择任何行时返回 NULL 值。然后,IFNULL 或 COALESCE 可以将 NULL 替换为您的默认值,在本例中为“default.webm”。
此方法允许您在查询没有返回结果时检索默认值,有效处理缺少匹配的情况行。
以上是如何在数据库查询中返回空结果集的默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!