我在我的mysql中尝试Select DISTINCT
列。
PHP
$query = "SELECT DISTINCT column1 as value, id FROM table WHERE column1 LIKE '%".$term."%'";;
$term = trim(strip_tags($_GET['term']));
while ($row = $stmt->fetch()){
$row['value']=htmlentities(stripslashes($row['value']));
$row['id']=(int)$row['id'];
$row_set[] = $row;
}
结果与使用DISTINCT
时的结果相同
为什么呢?
答案 0 :(得分:1)
可能id
是唯一的(将其删除以获取DISTINCT
column1值):
$query = "SELECT DISTINCT column1 as `value` FROM table WHERE column1 LIKE '%".$term."%'";;
例如:
id column1
1 'a'
2 'a'
3 'b'
4 'c'
你想要:
column1
'a'
'b'
'c'
修改强>
如果您需要id
,那么您的查询将按预期完美运行。您也可以尝试GROUP_CONCAT
获取相应ID的列表。
SELECT column1 AS `value`, GROUP_CONCAT(id) AS ids
FROM table
WHERE column1 LIKE ...
GROUP BY column1
输出:
column1 ids
'a' 1,2
'b' 3
'c' 4