Eindeutige Werte aus einer Spalte auswählen
Bei der Datenbankverwaltung ist die Möglichkeit, eindeutige Werte aus einer Spalte abzurufen, eine häufige Aufgabe. Stellen Sie sich ein Szenario vor, in dem Sie über eine Tabelle mit einer Spalte verfügen, die nicht eindeutige Werte enthält, und Sie nur die unterschiedlichen Werte anzeigen möchten. In diesem Artikel besprechen wir eine Methode, um dies mithilfe des DISTINCT-Operators zu erreichen.
Problemstellung
Stellen Sie sich vor, Sie haben eine MySQL-Tabelle mit zwei Spalten, „Datum“. und „Produkt“. Die Spalte „Datum“ enthält doppelte Werte, wie in den Beispieldaten unten gezeigt:
Date | product |
---|---|
2011-12-12 | azd |
2011-12-12 | yxm |
2011-12-10 | sdx |
2011-12-10 | ssdd |
Ein einfaches PHP-Skript kann verwendet werden, um Daten aus dieser Tabelle zu extrahieren und die Daten anzuzeigen:
<?php $con = mysql_connect("localhost","username","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("db", $con); $sql=mysql_query("SELECT * FROM buy ORDER BY Date"); while($row = mysql_fetch_array($sql)) { echo "<li><a href='http://www.website/" . $row['Date'].".html'>buy ". date("j, M Y", strtotime($row["Date"]))."</a></li>"; } mysql_close($con); ?>
Die Ausgabe dieses Skripts wäre eine Liste von Daten, einschließlich Duplikaten:
12.dec 2011 12.dec.2011 10.dec.2011 10.dec.2011
Lösung: DISTINCT Operator
Um nur die eindeutigen Werte in der Spalte „Datum“ zu erhalten, können wir den DISTINCT-Operator in der SQL-Abfrage verwenden:
SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Der DISTINCT-Operator stellt sicher, dass nur eindeutige Werte vorliegen Es werden Werte zurückgegeben, wodurch Duplikate eliminiert werden. Die resultierende Ausgabe wäre:
12.dec.2011 10.dec.2011
Durch die Einbindung des DISTINCT-Operators können Sie effektiv nur die unterschiedlichen Werte in Ihrer Datenbanktabelle abrufen und anzeigen. Diese Technik ist in verschiedenen Szenarien anwendbar, in denen die Beseitigung von Duplikaten erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie kann ich mit SQL nur eindeutige Werte aus einer Datenbankspalte abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!