簡體   English   中英

不能`選擇不同`

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM