從列中選擇唯一值
在資料庫管理中,從列中擷取不同值的能力是一項常見任務。考慮這樣一種情況,您有一個表,其中的列包含非唯一值,並且您只想顯示不同的值。在本文中,我們將討論使用 DISTINCT 運算子來實現此目的的方法。
問題陳述
假設您有一個包含兩列「日期」的 MySQL 表和「產品」。 「日期」列包含重複值,如下面的範例資料所示:
Date | product |
---|---|
2011-12-12 | azd |
2011-12-12 | yxm |
2011-12-10 | sdx |
2011-12-10 | ssdd |
可以使用簡單的PHP 腳本從此表中提取資料並顯示日期:
<?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); ?>
此腳本的輸出將是一個日期列表,包括重複項:
12.dec 2011 12.dec.2011 10.dec.2011 10.dec.2011
解決方案: DISTINCT運算子
要只取得「日期」欄位中的不同值,我們可以在SQL 查詢中使用DISTINCT 運算子:
SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
DISTINCT 運算子確保僅傳回唯一值,消除重複項。結果輸出將是:
12.dec.2011 10.dec.2011
透過合併 DISTINCT 運算符,您可以有效地擷取並僅顯示資料庫表中的不同值。此技術適用於各種需要消除重複的場景。
以上是如何使用 SQL 從資料庫列中僅檢索唯一值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!