题目1:
编写一个SQL查询以计算每位员工每天在办公室花费的总时间(以分钟为单位)。 请注意,在一天之内,同一员工是可以多次进入和离开办公室的。
解题思路:
这是一个分组求和的问题
代码实现:
select event_day as day,emp_id,sum(out_time-in_time) as total_time
from employees
group by event_day,emp_id;
结果:
题目2:
写一个 SQL, 报告余额高于 10000 的所有用户的名字和余额. 账户的余额等于包含该账户的所有交易的总和。
解题思路:
这是一个连接,分组求和,用having进行筛选的问题
代码实现:
select u.name ,sum(t.amount) as balance
from Users u
left join Transactions t
on u.account=t.account
group by u.account
having balance>10000 ;
结果: