我有一个MySQL表,其中包含以下类型的信息:
Date product
2011-12-12 azd
2011-12-12 yxm
2011-12-10 sdx
2011-12-10 ssdd
Run Code Online (Sandbox Code Playgroud)
以下是我用来从此表中获取数据的脚本示例:
<?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);
?>
Run Code Online (Sandbox Code Playgroud)
此脚本显示表中的每个日期,例如
12.dec 2011
12.dec.2011
10.dec.2011
10.dec.2011
Run Code Online (Sandbox Code Playgroud)
我想只显示独特的日期,例如
12.dec.2011
10.dec.2011
Run Code Online (Sandbox Code Playgroud)
Léo*_*urg 352
在MySQL中使用DISTINCT运算符:
SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Run Code Online (Sandbox Code Playgroud)
rab*_*dde 43
使用
SELECT DISTINCT Date FROM buy ORDER BY Date
Run Code Online (Sandbox Code Playgroud)
所以MySQL删除了重复项
顺便说SELECT
一下:当你从MySQL获得大量结果时,在PHP中使用显式列名更少的资源
Joh*_*ohn 25
使用此查询获取值
SELECT * FROM `buy` group by date order by date DESC
Run Code Online (Sandbox Code Playgroud)
ajr*_*eal 20
其余几乎是正确的,除了他们应该由Date DESC订购
SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
Run Code Online (Sandbox Code Playgroud)
DISTINCT
始终是获得独特价值的正确选择.您也可以在不使用它的情况下进行替换.那是GROUP BY
.它只是在查询结尾添加,后跟列名.
SELECT * FROM buy GROUP BY date,description
Run Code Online (Sandbox Code Playgroud)