簡體   English   中英

mysql-GROUP_CONCAT行轉換為字符串

[英]mysql - GROUP_CONCAT rows into a string

我有以下結果集:

req_id |  p_id  | ai_result  |  hash | sku
1      |  4     | Match      |  XAN  | HOW
1      |  4     | Match      |  HXN  | HOW
1      |  4     | Non Match  |  123  | HOW

我需要以下輸出

sku  | matched  |  non_matched
HOW  | XAN, HXN |  123

這是我所能得到的:

SELECT sku, GROUP_CONCAT(hash) AS hash
FROM `sku_match` 
GROUP BY req_id, p_id

如何基於ai_result列區ai_result並將它們分開放置。 GROUP_CONCAT(hash) AS matched, GROUP_CONCAT(hash) AS non_matched

嘗試使用條件聚合:

SELECT
    sku,
    GROUP_CONCAT(CASE WHEN ai_result = 'Match' THEN hash END) AS matched,
    GROUP_CONCAT(CASE WHEN ai_result = 'Non Match' THEN hash END) AS non_matched
FROM sku_match
GROUP BY
    sku;

在此處輸入圖片說明

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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