从列中选择唯一值

2022-08-30 06:25:54

我有一个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

答案 1

在 MySQL 中使用 DISTINCT 运算符:

SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;

答案 2

SELECT DISTINCT Date FROM buy ORDER BY Date

所以MySQL删除了重复项

顺便说一句:当您从MySQL获得大量结果时,在PHP中使用显式列名会使用更少的资源SELECT


推荐