MySQL查找具有由多列组成的相同字符串的行

时间:2015-11-18 13:03:38

标签: mysql sql

如何在MySQL中搜索以查找具有相同列值的行?

示例:

ID  Brand   PN  Model
1   Puma    X3  Z3
2   Puma    X3  Z3
3   Nike    x4  Z3
4   Nike    x4  Z3
5   Puma    x3  Z3
6   Nike    x3  Z3
7   Puma    x4  Z3
8   Nike    x4  Z3

在这里,我想知道哪些行(或此处ID)具有相同的“Brand-PN-Model”值

这是我最终想要看到的内容:

ID  Brand   PN  Model
1   Puma    X3  Z3
2   Puma    X3  Z3
5   Puma    x3  Z3
3   Nike    x4  Z3
4   Nike    x4  Z3
8   Nike    x4  Z3

3 个答案:

答案 0 :(得分:5)

运行:

SELECT
    Brand,PN,Model,count(*) as Records
FROM
    table
GROUP BY
    Brand,PN,Model
HAVING 
    COUNT(*) > 1

答案 1 :(得分:2)

您可以使用group_concat()

在一行中收集ID
select brand, pn, model, group_concat(id) as ids
from t
group by brand, pn, model;

答案 2 :(得分:0)

从表中按品牌选择*;

从表格中选择*按品牌分类;

上述任何一种方法都可以,您也可以指定要返回的确切属性而不是*(全部)。