mysql查询某一列相同值的数量大于固定值的sql

在使用mysql数据库的时候,查询某一列的值相同的数量大于1。

1.先建一个简单的表,并插入数据

CREATE TABLE `t_use` (
  `use_id` varchar(36) NOT NULL,
  `use_code` varchar(255) DEFAULT NULL,
  `use_name` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `t_use` VALUES ('1', '111', 'hhhhh');
INSERT INTO `t_use` VALUES ('2', '222', 'kkkkk');
INSERT INTO `t_use` VALUES ('3', '111', 'ddddd');
INSERT INTO `t_use` VALUES ('4', '333', 'sssss');

2.使用having进行过滤

select t.* 
from t_use t
where 1 = 1
group by t.use_code
having count(t.use_code) > 1

3.查询结果

use_id  use_code  use_name
1	111	  hhhhh

结果只显示use_code的数量大于1的值,并且默认只显示第一条数据,及时加上use_id或者use_name排序也是一样的。

你可能感兴趣的:(mysql)