bir sütundan benzersiz değerler seçme

Aşağıdaki türde bilgileri içeren bir MySQL tablom var:

    Date            product 
2011-12-12           azd
2011-12-12           yxm
2011-12-10           sdx
2011-12-10           ssdd  

İşte bu tablodan veri almak için kullandığım bir komut dosyası örneği:

<?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);
?> 

Bu kod tablodaki her tarihi görüntüler, örn.

12.dec 2011
12.dec.2011
10.dec.2011
10.dec.2011

Yalnızca benzersiz tarihleri görüntülemek istiyorum, örn.

12.dec.2011
10.dec.2011
Çözüm

MySQL'de DISTINCT operatörünü kullanın:

SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Yorumlar (2)

kullanım

SELECT DISTINCT Date FROM buy ORDER BY Date

böylece MySQL kopyaları kaldırır

Bu arada: MySQL'den büyük bir sonuç aldığınızda SELECT içinde açık sütun adları kullanmak PHP'de daha az kaynak kullanır

Yorumlar (6)

Tarih DESC'ye göre sıralanmaları dışında geri kalanlar neredeyse doğrudur

SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Yorumlar (1)