mysql 获取具有相同描述的重复ID

epfja78i  于 2023-03-22  发布在  Mysql
关注(0)|答案(3)|浏览(187)

我有一个表,有两个字段,ID和描述。我在说表中有很多行。我想知道有多少次相同的描述是重复的ID。
例如:

ID | Description
23 | Key
24 | Desk
25 | Key
26 | Key
27 | Desk

我想做一个sql查询,我得到一个描述重复的次数,关联的id和自己的描述。
我该如何解决这个问题?
我想要的输出如下所示:

ID | Description | Occurrences
23 | Key | 3
24 | Desk | 2
25 | Key | 3
26 | Key | 3
27 | Desk | 2

对不起,如果我没有解释好。我想知道的次数相同的描述与ID的。
希望你的回答。最好的问候大家。

ryhaxcpt

ryhaxcpt1#

我会使用上面建议的GROUP_CONCAT解决方案,但这将给予您请求的输出:

SELECT *
FROM (
    SELECT *, COUNT(*) OVER (PARTITION BY Description) AS Occurrences
    FROM your_table
) t
WHERE Occurrences > 1
ORDER BY ID;

输出:
| 识别号|说明|发生率|
| - ------|- ------|- ------|
| 二十三|关键词|三个|
| 二十四|办公桌|第二章|
| 二十五|关键词|三个|
| 二十六|关键词|三个|
| 二十七|办公桌|第二章|

dsf9zpds

dsf9zpds2#

如果我理解正确的话,你可以这样运行:

Select id, Desc, count(*)
from yourtable
group by Desc
Having count(*) > 1

此查询将为您提供Desc在特定表中的时间结果。

vlju58qv

vlju58qv3#

你也可以使用这样的查询。它也显示重复的id。

Select count(*) AS cnt, `Desc`, GROUP_CONCAT(ID) as IDs
from yourTable
group by `Desc`
Having count(*) > 1;

相关问题