[英]Cannot `Select DISTINCT`
我正在嘗試在我的 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
的情況相同。
為什么?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.