Mai mult
selectarea valorile unice dintr-o coloană
Am un tabel MySQL care conține următoarele tipuri de informații:
Date product
2011-12-12 azd
2011-12-12 yxm
2011-12-10 sdx
2011-12-10 ssdd
Aici este un exemplu de script-am folosi pentru a obține datele din acest tabel:
<?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);
?>
Acest script afiseaza de fiecare data de la masă, de exemplu
12.dec 2011
12.dec.2011
10.dec.2011
10.dec.2011
Aș dori pentru a afișa numai unică de date, de exemplu
12.dec.2011
10.dec.2011
188
9
Utilizați DISTINCT operator în MySQL:
utilizarea
deci MySQL elimină duplicate
BTW: folosind explicit nume de coloane în "SELECTAȚI" utilizează mai puține resurse în PHP atunci când te're obtinerea un mare rezultat din MySQL
Utilizați această interogare pentru a obține valori
Restul sunt aproape corectă, doar că ei ar trebui să comand de Data DESC
DISTINCT
este mereu o alegere potrivita pentru a obține valori unice. De asemenea, puteți face alternativ fără a-l folosi. Ca'sGROUP BY
. Care are pur și simplu adăugați la sfârșitul interogare și urmat de numele de coloană.Un alt
DISTINCT
a răspuns, dar cu mai multe valori:Folosi ceva de genul asta în cazul în care doriți, de asemenea, pentru produsele de ieșire detaliile pe data JSON.
Încercați să-l în SQL Vioara
Depinde de ce ai nevoie.
În acest caz, vă sugerez:
pentru că există câteva domenii și timpul de execuție a
DISTINCT
este mai mic decât execuția GRUPULUI DE`.În alte cazuri, de exemplu în cazul în care există mai multe domenii, prefer:
Există un anumit cuvânt cheie pentru a obține același.