数据库表的结构如下:create table workers(id int primary key,name varchar(12),department varchar(12),salary int,releaseDay date);要求能够写出:一个月内发过两次或者两次以上工资的员工的发工资次数,发工资总数,发工资月份,员工姓名和部门的sql语句;
理论上是不可以写存储过程和不兼容的函数;
理论上是不可以写存储过程和不兼容的函数;
select name 姓名,department 部门,trunc(date,'mm')发工资月份,count(*) 发工资次数,
sum(salary) 发工资总数
from workers
group by name ,department ,trunc(date,'mm')
having count(*)>=2
trunc是oracle的函数,在mysql下面是没用的,可不可以用标准的sql语句求出来!
你跑到ORACLE版块来问题,又没说要通用所有数据库,所以当然按ORACLE的方法回答喽
同样楼上两位用TO_char ,mysql也没有的楼主,你没理解这道面试的要点在哪?
要点不是在这种trunc和to_char函数的问题
说真的,如果我是面试官,你这样回答,那就说明你没理解题目的用意
有些题目不是说你非要答的非常正常,特别是你这种要求通用的SQL
关键是看你解题的思路,这种出题目一般都 会说明是哪种数据库的