从列中选择唯一值
在数据库管理中,从列中检索不同值的能力是一项常见任务。考虑这样一种情况,您有一个表,其中的列包含非唯一值,并且您只想显示不同的值。在本文中,我们将讨论使用 DISTINCT 运算符来实现此目的的方法。
问题陈述
假设您有一个包含两列“日期”的 MySQL 表和“产品”。 “日期”列包含重复值,如下面的示例数据所示:
Date | product |
---|---|
2011-12-12 | azd |
2011-12-12 | yxm |
2011-12-10 | sdx |
2011-12-10 | ssdd |
可以使用简单的 PHP 脚本从此表中提取数据并显示日期:
<?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
解决方案: DISTINCT 运算符
要仅获取“日期”列中的不同值,我们可以在 SQL 查询中使用 DISTINCT 运算符:
SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
DISTINCT 运算符确保仅返回唯一值,消除重复项。结果输出将是:
12.dec.2011 10.dec.2011
通过合并 DISTINCT 运算符,您可以有效地检索和仅显示数据库表中的不同值。该技术适用于各种需要消除重复的场景。
以上是如何使用 SQL 从数据库列中仅检索唯一值?的详细内容。更多信息请关注PHP中文网其他相关文章!