velge unike verdier fra en kolonne
Jeg har en MySQL-tabell som inneholder følgende type informasjon:
Date product
2011-12-12 azd
2011-12-12 yxm
2011-12-10 sdx
2011-12-10 ssdd
Her er et eksempel på et skript jeg bruker for å hente data fra denne tabellen:
<?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);
?>
Dette skriptet viser alle datoer fra tabellen, f.eks.
12.dec 2011
12.dec.2011
10.dec.2011
10.dec.2011
Jeg vil bare vise unike datoer, f.eks.
12.dec.2011
10.dec.2011
188
3
Bruk DISTINCT-operatoren i MySQL:
bruk
slik at MySQL fjerner duplikater
BTW: å bruke eksplisitte kolonnenavn i
SELECT
bruker mindre ressurser i PHP når du henter et stort resultat fra MySQL.Resten er nesten korrekte, bortsett fra at de skal ordnes etter Date DESC.