首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有数据的MySQL分组和行计数

具有数据的MySQL分组和行计数
EN

Stack Overflow用户
提问于 2018-06-19 17:43:31
回答 1查看 26关注 0票数 1

我有一张桌子,里面有不同种类的数据。我想要实现的是,我想在数据库中运行一个查询,查找数量相等、内容相同的行,比如,列有3行的id 1,而id 5有3行,所有这些值都是相同的。我想把它们作为一个整体来考虑,然后计算一下它们的数量。具有不同ids但值相同的行。然后有一个表,该表显示已找到x个匹配项并包含this+this+this值。这是在MySQL里

代码语言:javascript
复制
id  |  drug
--------------
1   | LAMIVUDINE
----------------
1   | ZIDOVUDINE
----------------
1   | 3TC
----------------
3   | TTC
-------------
4   | KKY
------------
4   | JJ2
-------------
4   | FFF
---------------
5   | LAMIVUDINE
----------------
5   | ZIDOVUDINE 
-----------------
5   | 3TC
------------------
8   | KKY
----------------
8   | JJ2
--------------
8   | FFF
---------------

数(Id)为编号

以药为名

代码语言:javascript
复制
number |  name
-------------------------------------
2      | LAMIVUDINE + ZIDOVUDINE + 3TC
---------------------------------------
2      | KKY + JJ2 + FFF
--------------------------------------`
1      | TTC
---------------------------------------
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 17:45:17

您可以使用group_concat和一个+分隔符来连接具有相同id的行,然后按连接值执行另一个组以获得所需的输出。

代码语言:javascript
复制
select count(*) number, names
from (
    select count(*) total, group_concat(drug order by drug separator '+') names
    from table1
    group by id
) t 
group by names

演示

Order子句在group by中很重要,因此串联字符串的值应该是相同的顺序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50934166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档