【发布时间】:2012-12-07 22:59:39
【问题描述】:
我在 mysql 数据库的选择查询中使用 distinct 像这样
$query=mysql_real_escape_string($_GET['query']);
$query_for_result=mysql_query("SELECT DISTINCT *
FROM vendor
LEFT JOIN branches ON branches.vendor_id = vendor.vendor_id
WHERE
(vendor.name LIKE '%".$query."%'
OR vendor.description LIKE '%".$query."%'
OR branches.city LIKE '%".$query."%')");
$qrow=mysql_fetch_array($query_for_result);
if(empty($qrow)){
while($qrow=mysql_fetch_array($query_for_result)){
Some Code to display result
<?php
}
mysql_close();
}
?>
问题是这样的,它显示每个结果多次,它显示每个结果和它喜欢的城市从分支表一样多,(意味着:如果供应商表中的结果在分支表中有 5 个城市,它将显示 5 次)
【问题讨论】:
-
使用 DISTINCT YOUR_COLUMN
-
我也使用这个,但是...与我在问题 SELECT DISTINCT (vendor.name, vendor.description,branches.city) 中提到的结果相同
-
是的,它会的。与其使用 DISTINCT,不如使用 GROUP BY。
-
DISTINCT vendor.* 它现在运行良好...感谢所有人,感谢 stackoverflow
标签: php mysql database select distinct