【问题标题】:Write a Query in MySql server that prints a list of employee names who have been employed for less than 10 months having salary>2000在 MySql 服务器中编写一个查询,打印一个员工姓名的列表,这些员工姓名的雇佣时间少于 10 个月,薪水>2000
【发布时间】:2022-01-20 15:20:05
【问题描述】:

我想要一个 SQL 查询,该查询打印一个雇员姓名的列表,这些雇员姓名的雇佣时间少于 10 个月,薪水>2000。按 emp_id 升序对该结果进行排序。

我试过了,但给了我一个错误,指出不再使用提取。:

select * from emp where 
salary>2000 and (months_between(date, hire_date))<=10
order by emp_no asc ;

如何形成查询?

【问题讨论】:

  • 您应该至少添加emp 表的一部分。
  • SQL server 没有months_between函数
  • 在 SQL Server 上,您可能会使用 and hire_date &gt;= dateadd(month, - 10, getdate()),但这可能取决于您要如何计算月份。
  • 您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库都使用的一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tag。 Why should I tag my DBMS
  • # emp_no,birth_date,first_name,last_name,gender,hire_date,salary '10001','1953-09-02','Georgi','Facello','M','2020-02 -23'、'7850.00'、'10002'、'1964-06-02'、'Bezalel'、'Simmel'、'F'、'2020-02-23'、'1756.50'、'10003'、'1959-12 -03'、'Parto'、'Bamford'、'M'、'2020-02-23'、'7850.00'、'10004'、'1954-05-01'、'Chirstian'、'Koblick'、'M' , '2020-04-15', '3475.00' '10005', '1955-01-21', 'Kyoichi', 'Maliniak', 'M', '2019-12-27', '1756.50' '10006' , '1953-04-20', 'Anneke', 'Preusig', 'F', '2020-02-23', '7850.00' '10007', '1957-05-23', 'Tzvetan', 'Zielinski ', 'F', '2020-02-23', '7850.00'

标签: mysql sql


【解决方案1】:
SELECT *
FROM Emp 
WHERE Salary > 2000
  AND Hire_Date >= DATE_SUB(CURRENT_DATE, INTERVAL 10 MONTH)
ORDER BY emp_no ASC;
Emp_No Employee_Name Job ManagerID Hire_Date Salary Comm DepartmentID
7566 JONES MANAGER 7839 2021-04-02 2975.00 null 20
7698 BLAKE MANAGER 7839 2021-05-01 2850.00 null 30
7782 CLARK MANAGER 7839 2021-06-09 2450.00 null 10
7788 SCOTT ANALYST 7566 2021-07-13 3000.00 null 20
7839 KING PRESIDENT null 2021-11-17 5000.00 null 10
7902 FORD ANALYST 7566 2021-12-03 3000.00 null 20

dbfiddle here

上的演示

【讨论】:

  • 这个查询给了我一个错误 1582,说“错误代码:1582。调用本机函数 'DATEDIFF' 0.000 秒时参数计数不正确”
  • 给我一个错误 1582
  • @SusmitaArinaDas 该错误表明您实际上使用的是 MySql,而不是 Microsoft Sql Server。 Sql 已针对 MySql 进行了修改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
  • 2018-10-29
  • 1970-01-01
相关资源
最近更新 更多