一道sql的题

来源:百度知道 编辑:UC知道 时间:2024/06/30 11:17:37
统计2008年1月份销售量最好的3天内销售的书籍信息,包括书名,作者,出版社,销售数量

select 书名,作者,出版社,销售数量
from 销售表
where 日期 in
(select 日期
from
(
select top 3 日期,sum(销售量) as 日销量 from 销售表
where year(日期)=2008 and month(日期)=1
group by 日期
order by 日销量 desc
) a
)
如果日期字段是包括时分秒的datetime,则可用Dateadd(day,datediff(day,0,日期),0)或者 convert(char(8),日期,112) 代替以上所有日期,除了year(日期)month(日期)外。

思路:
1、找出”2008年1月份销售量最好的3天“是哪三天;
2、把这三天内售出的数据信息列出来;

我是个循循善诱的好老师……

(
select top 3 日期,销售量 from 销售表
where datepart(year,日期)=2008 and datepart(month,日期)=1
group by 日期,销售量
order by 销售量 desc
)

这样求出来的就是销售高峰的三天,然后把这个集合跟书表关联就可以了

select top3 书名,作者,出版社,销售数量
from 表
where 月份=1
order by 销售数量的列名 desc