我有一张桌子,里面有不同种类的数据。我想要实现的是,我想在数据库中运行一个查询,查找数量相等、内容相同的行,比如,列有3行的id 1,而id 5有3行,所有这些值都是相同的。我想把它们作为一个整体来考虑,然后计算一下它们的数量。具有不同ids但值相同的行。然后有一个表,该表显示已找到x个匹配项并包含this+this+this值。这是在MySQL里
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)为编号
以药为名
number | name
-------------------------------------
2 | LAMIVUDINE + ZIDOVUDINE + 3TC
---------------------------------------
2 | KKY + JJ2 + FFF
--------------------------------------`
1 | TTC
---------------------------------------发布于 2018-06-19 17:45:17
您可以使用group_concat和一个+分隔符来连接具有相同id的行,然后按连接值执行另一个组以获得所需的输出。
select count(*) number, names
from (
select count(*) total, group_concat(drug order by drug separator '+') names
from table1
group by id
) t
group by namesOrder子句在group by中很重要,因此串联字符串的值应该是相同的顺序。
https://stackoverflow.com/questions/50934166
复制相似问题