Heim  >  Artikel  >  Datenbank  >  Wie werden Standardwerte für leere Ergebnismengen in Datenbankabfragen zurückgegeben?

Wie werden Standardwerte für leere Ergebnismengen in Datenbankabfragen zurückgegeben?

DDD
DDDOriginal
2024-10-28 09:45:02342Durchsuche

How to Return Default Values for Empty Result Sets in Database Queries?

Standardwerte mit leeren Ergebnissätzen zurückgeben

Beim Abfragen einer Datenbank kommt es häufig vor, dass Szenarien behandelt werden, in denen keine passenden Zeilen gefunden werden. Um leere Ergebnisse zu vermeiden, können Sie stattdessen einen Standardwert zurückgeben.

In Ihrem Fall möchten Sie das nächste geplante Element für einen Stream auswählen. Wenn kein Element geplant ist, möchten Sie einen Standardwert, um sicherzustellen, dass der Stream Inhalte abspielt.

Sie haben erfolglos versucht, COALESCE und IFNULL zu verwenden. Es gibt jedoch einen etwas anderen Ansatz, der funktioniert:

<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>

Durch die Verwendung von MIN() als Aggregatfunktion stellen Sie sicher, dass ein NULL-Wert zurückgegeben wird, wenn keine Zeilen ausgewählt sind. Dann können IFNULL oder COALESCE NULL durch Ihren Standardwert, in diesem Fall „default.webm“, ersetzen.

Mit dieser Methode können Sie einen Standardwert abrufen, wenn die Abfrage keine Ergebnisse zurückgibt, wodurch das Fehlen einer Übereinstimmung effektiv behandelt wird Zeilen.

Das obige ist der detaillierte Inhalt vonWie werden Standardwerte für leere Ergebnismengen in Datenbankabfragen zurückgegeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn