MySQL在两列中比较相同的值

and*_*ila 5 mysql sql database

我的数据库中有一个数据,如下所示:

jamu_a | jamu_b | khasiat

A      | B      | Z
A      | B      | X
A      | B      | C
Run Code Online (Sandbox Code Playgroud)

然后,我想要一个像这样的输出:

jamu_a | jamu_b | khasiat | total

A      | B      | Z, X, C | 3
Run Code Online (Sandbox Code Playgroud)

我不是MySQL的专家,产生这样的输出是什么样的查询?告诉我MySQL是否不能这样做并且需要一些编程语言.提前致谢

Joh*_*Woo 10

SELECT  jamu_a,
        jamu_b,
        GROUP_CONCAT(khasiat) khasiat,
        COUNT(*) total
FROM    TableName
GROUP   BY  jamu_a, jamu_b
Run Code Online (Sandbox Code Playgroud)

OUTPUT

?????????????????????????????????????
? JAMU_A ? JAMU_B ? KHASIAT ? TOTAL ?
?????????????????????????????????????
? A      ? B      ? Z,X,C   ?     3 ?
?????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

如果对列重复值KHASIAT,你希望它是独一无二的,你可以添加DISTINCTGROUP_CONCAT()

SELECT  jamu_a,
        jamu_b,
        GROUP_CONCAT(DISTINCT khasiat) khasiat,
        COUNT(*) total
FROM    TableName
GROUP   BY  jamu_a, jamu_b
Run Code Online (Sandbox Code Playgroud)