sql面试题

Trader 交易人数据表结构

2015-9-24 23-18-49

Transaction交易数据表结构

2015-9-24 23-26-01

1.统计Trader表中,年龄大于29岁的交易人数量

select count(distinct a.TraderID) 个数  from [dbo].[Transaction] as a left join Trader b on a.TraderID=b.TraderID where b.Age>25 group by a.TraderID

2.统计Trader表中,重名的交易人姓名及重名人数量

select b.Name, a.次数 from (select a.TraderID, count(*) 次数 from [dbo].[Transaction] a  left join Trader b on a.TraderID=b.TraderID group by a.TraderID having COUNT(*)>1) a left join Trader b on a.TraderID=b.TraderID

3.使用SQL语句统计:按日统计发生的交易信息(注意:一个交易人在一天可进行多次交易,需合计每日、每人的交易金额,并按交易日期倒叙排列)

select a.日期,b.Name 姓名,a.交易笔数,a.交易额 from (select CONVERT(char(8),a.TranDate,112) 日期,a.TraderID,COUNT(a.TraderID)交易笔数 ,sum(a.Amount) 交易额 from [dbo].[Transaction] a left join Trader b on a.TraderID=b.TraderID group by a.TraderID,CONVERT(char(8),a.TranDate,112) )a left join Trader b on a.TraderID=b.TraderID
原文地址:https://www.cnblogs.com/zychengzhiit1/p/4836972.html