列からの一意の値の選択
データベース管理では、列から個別の値を取得する機能が一般的なタスクです。一意でない値を含む列を含むテーブルがあり、個別の値のみを表示したいシナリオを考えてみましょう。この記事では、DISTINCT 演算子を使用してこれを実現する方法について説明します。
問題ステートメント
2 つの列「Date」を持つ 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 中国語 Web サイトの他の関連記事を参照してください。