簡體   English   中英

MYSQL-來自group_concat的類似結果計數

[英]MYSQL - Count of similar results from a group_concat

我有下表:

product_ID | detail_ID
15228 | 1
19450 | 1
21309 | 336
21309 | 425
21310 | 336
26415 | 148
28842 | 497
53443 | 1

我目前正在運行以下查詢:

SELECT product_ID, GROUP_CONCAT(DISTINCT detail_ID separator ', ') AS detailIds
FROM productdetails
GROUP BY product_ID

該查詢給我以下結果:

product_ID | detailIds
15228      | 1
19450      | 1
21309      | 336, 425
21310      | 336
26415      | 148
28842      | 497
53443      | 1

我想返回的是:

group_concat on product_ID | group_concat | count of group_concat
15228, 19450, 53443        | 1            | 3
21309                      | 336, 425     | 1
21310                      | 336          | 1
26415                      | 148          | 1
28842                      | 497          | 1

我曾嘗試在group_concat上使用count和group_concat上的group_concat等聚合函數,但是mysql對這些嘗試非常不滿意。 任何建議將不勝感激!

我正在嘗試在MySQL中執行此操作。

目的是找到具有相似功能的產品,然后查看這些相似功能出現的頻率。 謝謝!

將您的查詢用作子查詢並執行另一個group_concat()

SELECT GROUP_CONCAT(product_ID) as Products, detailIds, count(*) as NumProducts
FROM (SELECT product_ID, GROUP_CONCAT(DISTINCT detail_ID separator ', ') AS detailIds
      FROM productdetails
      GROUP BY product_ID
     ) P
GROUP BY detailIds;

暫無
暫無

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

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