如何在SQL中找到上周最畅销的书籍

时间:2012-05-14 21:48:03

标签: sql sql-server

我正在努力为我的家庭作业建立一个在线书店 我希望按时间(上周,上个月,所有时间)列出最畅销的书籍 我写了所有时间查询,但无法确定上周的查询 有人可以帮帮我吗?

这是表格:

TbSoldBooks (saleID, BookID, SaleDate)  

(我搜索但找不到答案)

更新:这是有史以来最畅销的书籍。

SELECT b.bookID, COUNT(b.bookID) AS All-Time  
FROM TbSoldBooks b  
GROUP BY b.bookID

2 个答案:

答案 0 :(得分:1)

好吧,我不想为你破坏所有你的家庭作业,但你可以尝试通过BookID GROUPCOUNT每本书的销售。

编辑:我看到你对比较日期感到困惑。然后看一下DATEADD

答案 1 :(得分:1)

SELECT top 10 b.bookID, COUNT(b.bookID) 
FROM TbSoldBooks b  
GROUP BY b.bookID
Where SaleDate >= DateAdd(day, -7, getDate()) -- last week
Order by 2 desc

SELECT top 10 b.bookID, COUNT(b.bookID) 
FROM TbSoldBooks b  
GROUP BY b.bookID
Where SaleDate >= DateAdd(month, -1, getDate()) -- last month
Order by 2 desc