sélection de valeurs uniques dans une colonne

J'ai une table MySQL qui contient le type d'information suivant :

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

Voici un exemple de script que j'utilise pour obtenir des données de cette table :

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

Ce script affiche chaque date de la table, par ex.

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

J'aimerais n'afficher que les dates uniques, par ex.

12.dec.2011
10.dec.2011
Solution

Utilisez l'opérateur DISTINCT dans MySQL :

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

utiliser

SELECT DISTINCT Date FROM buy ORDER BY Date

pour que MySQL supprime les doublons

BTW : l'utilisation de noms de colonnes explicites dans SELECT utilise moins de ressources en PHP lorsque vous obtenez un gros résultat de MySQL.

Commentaires (6)

Les autres sont presque correctes, sauf qu'elles devraient être classées par Date DESC.

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