SQL如何查询出某一列中不同值出现的次数?

不同的值有很多,所以用case when不现实。

1、首先需要创建一个临时表,用于演示如何筛选出表中指定字段值重复的记录数量。

2、往临时表中插入几行测试数据,其中部分字段的Col2栏位值插入相同值,用于统计筛选相同Col2的行数。

3、查询临时表中的测试数据。

4、使用distinct可以筛选出Col2列的不同值的记录。

5、使用count(1)加上group by计算出Col2不重复值的记录行数。

6、使用having过滤出Col2列的行数大于1的值以及行数。

7、使用having过滤出Col2列的行数大于1的值以及行数,在按照行数倒序排列。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-17

SQL查询出某一列中不同值出现次数的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上相应的数据库表,例如test2表。

2、点击“查询”按钮,输入:select A, count(*) as num from test2 group by A;。

3、点击“运行”按钮,此时会将字段A的所有不同值出现的次数显示出。

本回答被网友采纳
第2个回答  推荐于2017-11-24

我觉得好像不用楼上那么复杂吧?

select count(*) from (select distinct 列名 from 表名)

子查询中使用distinct查询出所有不同的值,然后用select count(*)查询子查询返回到行数。

追问

这句查到的是有多少不同的值,而不是每一个不同的值出现的次数。我的问题已经解决了,还是谢谢您的帮助

本回答被网友采纳
第3个回答  2015-09-17
select tb.newcolumn, count(ta.*) as cnt
from tableA ta
inner join (select distinct (thiscolumn) as newcolumn from tableA) tb
where ta.thiscolumn = tb.newcolumn
group by tb.newcolumn

实现了tableA 的 thiscolumn 的不同值的计数。主要的 inner join 自己group by 的值后的结果追问

报错了,不过还是谢谢你的帮助。

第4个回答  2017-11-24
SELECT 字段a,COUNT(DISTINCT(字段b)) FROM 表名 GROUP BY 字段a

SQL如何查询出某一列中不同值出现的次数?
1、首先需要创建一个临时表,用于演示如何筛选出表中指定字段值重复的记录数量。2、往临时表中插入几行测试数据,其中部分字段的Col2栏位值插入相同值,用于统计筛选相同Col2的行数。3、查询临时表中的测试数据。4、使用distinct可以筛选出Col2列的不同值的记录。5、使用count(1)加上group by计算出Co...

SQL如何查询出某一列中不同值出现的次数
1、首先,打开sql查询器,连接上相应的数据库表,例如test2表。2、点击“查询”按钮,输入:select A, count(*) as num from test2 group by A;。3、点击“运行”按钮,此时会将字段A的所有不同值出现的次数显示出。

SQL中怎么查找某一列中某一数值出现次数大于两次的记录?
1. 选择需要统计的列:确定你要统计的列,假设该列为`column_name`。2. 使用GROUP BY进行分组:根据该列的值进行分组。例如,如果你想查找数值在某一列中出现次数大于2的记录,你可以按照这一列的值进行分组。3. 使用HAVING过滤分组结果:使用HAVING子句来过滤那些特定值的出现次数大于2的分组。这里需...

如何查询“SQL计算表中一个列中各数的出现次数”?
SQL语句就可以做了,例检索表格aaa,添加一列“re_num”,显示a列值重复的次数,次数为表格按a列分组计算记录数:select a,count(a) as 're_num' from aaa group by a,select a1.a2.re_num from aaa a1 join (select a,count(a) as 're_num' from aaa group by a) a2 on a1.a =...

如何用SQL统计出每个字段出现过的次数
用分组,组内计数就可以了,意思就是根据字段a的取值进行分组,相同的为一组,在用count进行组内计数。select a,count(*)from A group by a

mysql一条sql怎么统计某个字段不同值的个数?
以时间为跨度统计不同的值,在该时间出现的次数。语言如下:select count(*),'列名' from tablename group by '列名'select count(*),a_yqm from user group by a_yqm 举例:这里,我要查询出1年内每个月份periods字段不同值的次数。比如下图中可见的2015-4月,periods为2出现了3次,3出现了1...

sql怎么查询一列里面特定的数出现几次
--使用count即可--统计id=1出现的次数select count(id) from TABLE where id = 1;

sql语句查询出现次数
SQL语句如果汇总某字段中所有不重复值的出现次数,可以使用 select 字段,sum(字段) as 出现次数 from 表 group by 字段

用SQL如何分类统计表中某字段的变化次数?
明确一个问题,产品代码会不会和原来的想重复。如,客户编号1001的产品代号变化顺序依次为1、3、2,再后来会不会出现1 。如果不会重复的话 SELECT 客户编号,COUNT(DISTINCT 产品代号) AS 变化次数 FROM TABLE GROUP BY 客户编号 便可以解决。如果会重复,oracle的写法是:select cino,sum(decode(pro_...

SQL如何查询表中某列出现频率最多的字段
使用count函数即可。例如:表名test id name 1 a 1 b 1 f 2 c 2 d 3 e select id from test group by id having count(*)=(select top1 count(*) as counts from test group by id order by counts desc)...

相似回答