失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > sql查询重复值的次数

sql查询重复值的次数

时间:2019-05-15 07:48:52

相关推荐

sql查询重复值的次数

后端开发|php教程

重复,次数,查询,sql

后端开发-php教程

一个表 mark

oa crm php源码下载,ubuntu增加物理内存,爬虫抓取招聘信息,用php倒着写九九乘法表,国家缩写seolzw

id name pay

1张三1000

2 王磊 1200

3 张三 5853

4 王五 8574

5 高个 1259

6 高个 985

想复制一个整站源码,安装ubuntu20.10,tomcat9不能安装,爬虫 cookie 处理,php编程app,甘孜seo优化生产厂家lzw

===================

怎么样来查询name字段的重复值,不知道怎么写sql,要的结果是就是 张三出现了几次,王磊出现了几次,高个出现了几次。

触屏网站源码,ubuntu卡在代码界面,厕所夜间出现爬虫,php php-fpm缓存,seo互点群lzw

另外我不是很理解 group by 这个的用法和含义,有谁可以通俗点的说法告诉我下吗,谢谢。

回复讨论(解决方案)

select name, count(*) from mark grounp by name

group by 分组键

就是依据谁进行分组

group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。

SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。

某个员工信息表结构和数据如下:

id name dept salary edlevel hiredate

1 张三 开发部 2000 3 -10-11

2 李四 开发部 2500 3 -10-01

3 王五 设计部 2600 5 -10-02

4 王六 设计部 2300 4 -10-03

5 马七 设计部 2100 4 -10-06

6 赵八 销售部 3000 5 -10-05

7 钱九 销售部 3100 7 -10-07

8 孙十 销售部 3500 7 -10-06

例如,我想列出每个部门最高薪水的结果,sql语句如下:

SELECT DEPT, MAX(SALARY) AS MAXIMUM

FROM STAFF

GROUP BY DEPT

查询结果如下:

DEPT MAXIMUM

开发部 2500

设计部 2600

销售部 3500

解释一下这个结果:

1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有GROUP BY DEPT中包含的列DEPT。

2、“列函数对于GROUP BY子句定义的每个组各返回一个结果”,根据部门分组,对每个部门返回一个结果,就是每个部门的最高薪水。

注意:计算的是每个部门(由 GROUP BY 子句定义的组)而不是整个公司的 MAX(SALARY)。

2楼正解。不过单词写错了。

SELECT NAME, COUNT(*) FROM mark GROUP BY NAME;

记得以前有一个面试题,有这样出过。

group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。

SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。

某个员工信息表结构和数据如下:

id name dept salary edlevel hiredate

1 张三 开发部 2000 3 -10-11

2 李四 开发部 2500 3 -10-01

3 王五 设计部 2600 5 -10-02

4 王六 设计部 2300 4 -10-03

5 马七 设计部 2100 4 -10-06

6 赵八 销售部 3000 5 -10-05

7 钱九 销售部 3100 7 -10-07

8 孙十 销售部 3500 7 -10-06

例如,我想列出每个部门最高薪水的结果,sql语句如下:

SELECT DEPT, MAX(SALARY) AS MAXIMUM

FROM STAFF

GROUP BY DEPT

查询结果如下:

DEPT MAXIMUM

开发部 2500

设计部 2600

销售部 3500

解释一下这个结果:

1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有GROUP BY DEPT中包含的列DEPT。

2、“列函数对于GROUP BY子句定义的每个组各返回一个结果”,根据部门分组,对每个部门返回一个结果,就是每个部门的最高薪水。

注意:计算的是每个部门(由 GROUP BY 子句定义的组)而不是整个公司的 MAX(SALARY)。

也就是如果要查询一个字段的总和,或者最小数,通俗一点就是做数据查询的时候就需要用 group by来从新组合

我试过,比如要查询 select id,sum(dis) from mark 这样就会报错,

select id,max(dis) from mark 这个也会报错

select id,max(dis) as name from mark 这个也会报错

也就是如果用统计查询的字段必须要用 group by 来把统计查询出来的字段单独列一个字段出来,可以这样理解吗

select id,max(dis) from mark group by dis 就是查询max(dis)查询的出来的值用 group by来重新命名一个列出来

sum、max 都是数学函数,而你的 dis 列是字符型的,当然就要报错啦

group by 是分组的意思

有 group by 就按指定列的内容分组

没有 group by 就是全部记录算一组

如果觉得《sql查询重复值的次数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。