簡體   English   中英

MySQL在兩列中比較相同的值

[英]MySQL compare same values in two column

我的數據庫中有一個數據,如下所示:

jamu_a | jamu_b | khasiat

A      | B      | Z
A      | B      | X
A      | B      | C

然后,我想要一個像這樣的輸出:

jamu_a | jamu_b | khasiat | total

A      | B      | Z, X, C | 3

我不是MySQL的專家,產生這樣的輸出是什么樣的查詢? 告訴我MySQL是否不能這樣做並且需要一些編程語言。 提前致謝

SELECT  jamu_a,
        jamu_b,
        GROUP_CONCAT(khasiat) khasiat,
        COUNT(*) total
FROM    TableName
GROUP   BY  jamu_a, jamu_b

OUTPUT

╔════════╦════════╦═════════╦═══════╗
║ JAMU_A ║ JAMU_B ║ KHASIAT ║ TOTAL ║
╠════════╬════════╬═════════╬═══════╣
║ A      ║ B      ║ Z,X,C   ║     3 ║
╚════════╩════════╩═════════╩═══════╝

如果列KHASIAT上有重復值並且您希望它是唯一的,則可以在GROUP_CONCAT()上添加DISTINCT

SELECT  jamu_a,
        jamu_b,
        GROUP_CONCAT(DISTINCT khasiat) khasiat,
        COUNT(*) total
FROM    TableName
GROUP   BY  jamu_a, jamu_b

暫無
暫無

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

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