[英]mysql GROUP_CONCAT DISTINCT multiple columns
我有一個博客帖子的標簽字段。 標簽具有唯一 ID,但其 displayName 可能重復。 我想要的是一個選擇帖子的查詢,在
all_tags<\/code>字段中,我們得到幾個 (id,displayName) 是這樣的:
id1,name1;id2,name2;id3,name3
試試這個:
GROUP_CONCAT(
DISTINCT CONCAT(tags.id,',',tags.displayName)
ORDER BY posts.id
SEPARATOR ';'
)
按照@Willa 的建議,我將我的評論添加為 anwser :
GROUP_CONCAT 允許您連接多個字段:
GROUP_CONCAT(tags.id, ',', tags.displayName)
與 Stephan 的答案的唯一區別是,如果您的代碼允許同一標簽多次影響一個帖子,或者如果您 JOIN 序列導致您在標簽表中多選相同的記錄。 在這種情況下,我的解決方案將多次返回相同的標簽。
在@Stephan<\/a>的最佳答案之上,為了防止由於查詢中的多個 JOIN 而多次顯示相同的內容,但您不希望 id 顯示在輸出中......<\/strong>
GROUP_CONCAT(
DISTINCT
tags.displayName,
'||__', tags.id, '__||'
SEPARATOR '\n'
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.