我有一张列有员工、部门和薪水的桌子,我想得到每个部门的最低工资和最高工资(按部门分组的最低/最高工资是多少),,但是如何计算每个部门的最低工资和最高工资是多少?
Select Department,
Count(distinct EmployeeID) as Employees,
Min(Salary) as Min,
Max(Salary) as Max
From Employees
Group by Department;
如果满足一个条件:部门的平均工资必须是整个公司最低工资的两倍,我试图显示部门和该部门员工的平均工资。 select dname, avg(salary) from department, employee where dno=dnumber group by dname having avg(salary) > min(salary)*2; 我有员工和部门的桌子。我的查询如下,但是它产生了一个空表。我认为这是因为减半条款中的薪水引用了部门和员工-或者更确切地说,它没有正确地做到这一点。 为了只列出部门的平均工资,我使用了这个查询,它似乎工作得很好: select dname, avg(
我一直在为一个类似这样的问题而苦苦挣扎,“找到所有薪水高于其部门平均工资的员工。”我的SQL子查询将所有部门的工资汇总在一起,得到一个平均工资,但我需要一种方法来获得每个部门的平均工资。
我的sql语句如下所示。
SELECT EmployeeName
FROM dbo.EMP
WHERE Salary > (
SELECT AVG(Salary)
FROM dbo.EMP
)
GROUP BY DeptNo
我有一张列有下列栏的表格:工资和部门
这些是表中的内容:
IT 600000
HR 530000
IT 1000000
HR 480000
Payroll 500000
我想写一个查询,得到部门,每个部门的工资总额,并按工资总额的上升顺序排序。
这是我尝试过的查询:
select Department, salary,
sum(Salary)
from table
order by Department DESC;
但我得到的产出如下:
Payroll 500000 3110000
我需要在每个部门的总和显示的地方得到输出。
我试图对那些工资低于他们在使用SQL分析函数的部门的平均工资的员工做一个选择声明。上面的代码显示了所有的员工和他们部门的平均水平。我如何限制它,使它只选择员工的工资<部门平均数?
SELECT NAME, SALARY, ID_DEP, AVG(SALARY) OVER (PARTITION BY ID_DEP) DEP_AVERAGE FROM EMPLOYEES;
我在用电磁脉冲部门..。数据库。我想知道那些收入超过部门平均水平的员工的姓名、薪水、部门工资和平均工资。所以我想做的是:
SELECT e.Ename, e.Sal, e.Deptno
, (
SELECT AVG(Sal)
FROM Emp b
WHERE b.Deptno = e.Deptno
GROUP BY Deptno
) AS 'Average Salary'
FROM Emp e
WHERE e.Sal > (
SELECT AVG(b.Sal)
FROM Emp b
WHERE b.Deptno =
我想找出所有部门的平均工资都高于在财务部工作的教员的平均工资。
这些表是;部门( dept_name,大楼,预算)教官(ID,名称,dept_name,工资)
SELECT
*
FROM
instructor e
JOIN
department ON e.dept_name = e.dept_name
WHERE
salary > (SELECT
AVG(salary)
FROM
instructor e2
WHERE
MySQL,每个部门前两名受薪员工和部门平均工资。我能够检索到每个部门的前两名受薪员工,但我不知道如何计算部门的平均工资 SELECT *
FROM Employee e1
WHERE 2 > (
SELECT COUNT(DISTINCT Salary)
FROM Employee e2
WHERE e2.Salary > e1.Salary
AND e1.Dept = e2.Dept
);
我有以下查询:
SELECT D.Dept,(SUM(D.AMOUNT) /SUM(A.AMOUNT)) AS Res
FROM Dept AS D
INNER JOIN Charge AS A ON D.DeptId=A.DeptId
GROUP BY D.Dept
输入: Dept表:
Dep Amount
1 300
1 300
2 1000
3 3000
收费表:
Dep Charge
1 150
1 150
2 200
3 300
我想计算每个部门的工资总额,除以每个部门的费用,我希望部门有最高工资,部门有最低工资,如下所示:
Dept Res
我的数据库里有Workers表。有4列id、name、salary和department。我需要显示的部门,其中计数与工资超过90%的最大薪资值的工人在行中的计数,并与这种工资的工人计数超过15%的工人在部门计数。
首先,我进行了这样的查询,它显示了具有高薪员工的所有行
SELECT *
FROM `Workers`
WHERE id IN (
SELECT `id`
FROM `Workers`
WHERE `salary` > 0.9 * (SELECT MAX( `salary` )
目标-列出每个部门的男性平均工资和女性平均工资。显示部门名称和编号。
select AVG(salary) as 'Avg salary for men'
From [Enterprise].[dbo].[Employee]JOIN [Enterprise].[dbo].[Department]
ON Employee.EMPNO = Department.deptNo
where SEX = 'm'
我还不确定我是否需要一个外接呢?我怎样才能把它按部门列出呢?
我正在尝试创建函数,将返回消息与部门内的每个工作的最高工资,并按最高工资排序。
消息需要是:
部门:部门名称,
职务/职位:职务名称,最高工资:工资金额,
create or replace PACKAGE BODY Salary AS
FUNCTION max_sal(DEPTNO_F NUMBER)
RETURN VARCHAR2 IS
dept_name VARCHAR2(25);
job_possition VARCHAR(25);
maximum_salary NUMBER;
message VARCHAR2(255);
BEGIN
SELECT DNAME, JOB
列出在部门10或部门20工作的员工数量,这些部门的平均、最低和最高员工工资,以及他们所有工资的总和(这个问题必须使用一个查询来完成) 我的代码: SELECT DEPTNO, AVG(SAL), MAX(SAL), MIN(SAL), SUM(SAL) AS TOTAL_SAL
FROM EMP
WHERE DEPTNO = 10 OR DEPTNO=20
GROUP BY DEPTNO; 表架构: ?
我正在学习如何在MYSQL中构造触发器,我已经构造了一个触发器,如果部门中的一个员工更新了(他们的工资被更新了,或者他们被添加到部门中/从部门中删除),那么该触发器将重新计算部门工资。如果我更新用户的工资,它不会同时更新部门的工资。
员工表:
SSN
Salary
Name
Dno
Supervisor_ssn
部门表:
DName
Dno
Total_sal
Manager_SSN
触发器如下所示:
DELIMITER $$
CREATE TRIGGER `Employee_AUPD` AFTER UPDATE ON `Employee` FOR EACH ROW
BEGIN
IF old
我有一张这样的桌子 ? ` 我需要找到部门的最高工资和第二个最高工资。 我写了这个查询 select sum(salary)
from salary
group by deptid 我得到了下面的输出: ? 现在我想找出最高工资和部门,所以我写道 select max(salary)
from salary
where in (select sum(salary) from salary) 但这是行不通的。 我需要从deptid的工资表组中找到最大值和第二个最大值怎么做?
我有以下关系模式。
EMPLOYEE(Fname,Lname,Ssn,工资,Dno)
DEPARTMENT(Dname,Dnumber,Mgr_ssn)
对于每个部门,我想检索部门编号、经理姓名和部门平均工资。
下面是我的尝试。我得到部门编号和平均薪资,但我不知道如何检索部门经理名称,而不需要过滤行,这将更改平均薪资的值。
SELECT D.Dnumber, AVG(E.Salary)
FROM EMPLOYEE E JOIN DEPARTMENT D ON E.Dno = D.Dnumber
GROUP BY D.Dnumber
如何在此查询中检索经理名?
我在oracle sql上有一个名为employees的表。我要做的是返回部门ID和所有员工的最低工资,按部门ID分组,最低工资大于部门ID不等于50的员工的最低工资。
这是我想出来的:
select department_id, min(salary)
from employees where min(salary)>(select min(salary) from employees
where department_id!=50)
group by department_id;
Oracle给出错误: ORA-00934:此处不允许使用组函数
有人知道为什么会发生这种事吗?