Lebih
memilih nilai-nilai unik dari kolom
Saya memiliki sebuah tabel MySQL yang berisi jenis informasi:
Date product
2011-12-12 azd
2011-12-12 yxm
2011-12-10 sdx
2011-12-10 ssdd
Berikut ini adalah contoh script yang saya gunakan untuk mendapatkan data dari tabel ini:
<?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);
?>
Script ini akan menampilkan setiap tanggal dari tabel, misalnya
12.dec 2011
12.dec.2011
10.dec.2011
10.dec.2011
Saya ingin hanya menampilkan tanggal unik, misalnya
12.dec.2011
10.dec.2011
188
9
Gunakan BERBEDA operator di MySQL:
gunakan
jadi MySQL menghilangkan duplikat
BTW: menggunakan eksplisit nama-nama kolom dalam
PILIH
menggunakan lebih sedikit sumber daya di PHP ketika anda're semakin besar hasil dari MySQLMenggunakan query untuk mendapatkan nilai-nilai
Sisanya hampir benar, kecuali mereka harus order by Tanggal DESC
BERBEDA
adalah selalu pilihan yang tepat untuk mendapatkan nilai-nilai unik. Anda juga dapat melakukannya dengan atau tanpa menggunakan itu. Yang'sGROUP BY
. Yang telah cukup tambahkan pada akhir query dan diikuti dengan nama kolom.Lain
BERBEDA
menjawab, tapi dengan beberapa nilai-nilai:Menggunakan sesuatu seperti ini dalam kasus anda juga ingin produk keluaran rincian per tanggal JSON.
Mencobanya di SQL Biola
Tergantung pada apa yang anda butuhkan.
Dalam hal ini saya sarankan:
karena ada beberapa bidang dan waktu eksekusi
BERBEDA
lebih rendah dari pelaksanaanGROUP BY
.Dalam kasus lain, misalnya di mana ada banyak bidang yang saya sukai:
Ada kata kunci tertentu untuk mencapai tujuan yang sama.