0

我正在尝试为我的家庭作业建立一个在线书店。
我想按时间(上周、上个月、所有时间)列出最畅销的书籍。
我写了所有时间查询,但无法计算上周查询。
有人可以帮帮我吗?

这是表格:

TbSoldBooks (saleID, BookID, SaleDate)  

(我搜索了但找不到答案)

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

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

2 回答 2

1

好吧,我不想毁了你所有的功课,但你可以尝试GROUP通过 BookID 和COUNT每本书的销售量。

编辑:我看到你对比较日期感到困惑。那就看看吧DATEADD

于 2012-05-14T21:49:31.457 回答
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
于 2012-05-14T22:01:35.960 回答