繁体   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