επιλογή μοναδικών τιμών από μια στήλη

Έχω έναν πίνακα MySQL που περιέχει τις ακόλουθες πληροφορίες:

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

Ακολουθεί ένα παράδειγμα ενός σεναρίου που χρησιμοποιώ για να λάβω δεδομένα από αυτόν τον πίνακα:

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

Θα ήθελα να εμφανίζει μόνο μοναδικές ημερομηνίες, π.χ.

12.dec.2011
10.dec.2011
Λύση

Χρησιμοποιήστε τον τελεστή DISTINCT στη MySQL:

SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Σχόλια (2)

χρήση

SELECT DISTINCT Date FROM buy ORDER BY Date

ώστε η MySQL να αφαιρεί τα αντίγραφα

BTW: η χρήση ρητών ονομάτων στηλών στο SELECT χρησιμοποιεί λιγότερους πόρους στην PHP όταν παίρνετε ένα μεγάλο αποτέλεσμα από τη MySQL

Σχόλια (6)

Τα υπόλοιπα είναι σχεδόν σωστά, εκτός από το ότι θα πρέπει να διατάσσονται κατά ημερομηνία DESC

SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Σχόλια (1)