seleccionar valores únicos de una columna

Tengo una tabla MySQL que contiene el siguiente tipo de información:

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

Aquí hay un ejemplo de un script que uso para obtener datos de esta tabla:

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

Este script muestra cada fecha de la tabla, por ejemplo

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

Me gustaría mostrar sólo las fechas únicas, por ejemplo

12.dec.2011
10.dec.2011
Solución

Utilice el operador DISTINCT en MySQL:

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

utilice

SELECT DISTINCT Date FROM buy ORDER BY Date

para que MySQL elimine los duplicados

Por cierto: el uso de nombres de columna explícitos en SELECT utiliza menos recursos en PHP cuando se obtiene un resultado grande de MySQL

Comentarios (6)

El resto son casi correctos, salvo que deberían ordenarse por Fecha DESC

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