7、查找薪水涨幅超过15次的员工

1、题目描述:

查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

输入描述:

输出描述

emp_not
10001 17
10004 16
10009 18

2、代码:

select emp_no,count(1) as t
from salaries
group by emp_no having count(1)>15;

注意:查找count(*)和count(1)之间的区别

一. count(1)和count(*)的区别

1. count(1)和count(*)的作用:

都是检索表中所有记录行的数目,不论其是否包含null值。

2. 区别:但是count(1)比count(*)效率更高

二 . count(字段)与count(1)和count(*)的区别

count(字段)的作用是检索表中的这个字段的非空行数,不统计这个字段值为null的记录

原文地址:https://www.cnblogs.com/guoyu1/p/12239696.html