首页 > 解决方案 > 如何使用 SQL 查找行中的重复字段

问题描述

我想显示列“name”和列“birth”中的两条记录,以便每个记录使用COUNT ()

在此处输入图像描述

我正在使用查询

SELECT 
    nama,  COUNT(nama),
    lahir,  COUNT(lahir)
FROM tb_test
GROUP BY nama , lahir
HAVING  COUNT(nama) > 1 AND COUNT(lahir) > 1;

但结果始终为空

在此处输入图像描述

标签: mysql

解决方案


你可能想要HAVING COUNT(id) > 1. 但即便如此,该样本数据中也没有具有相同namalahir值的行。

你可能还想要这个:

SELECT 'nama' as `Field`, nama as `Value`, count(id) as `Count`
FROM tb_test
GROUP BY nama
HAVING  COUNT(id) > 1

UNION

SELECT 'lahir' as `Field`, lahir as `Value`, count(id) as `Count`
FROM tb_test
GROUP BY lahir
HAVING  COUNT(id) > 1

推荐阅读