【高分,急!】SQL语句 排行问题,急

来源:百度知道 编辑:UC知道 时间:2024/06/08 08:13:48
表Things
字段
User//会员名
ThingName//产品名称
Sell//是否卖出,bit型,0表示未卖,1表示售出
InTime//卖出时间

问题一,我怎么编写SQL语句来得出一周以内卖得最多的前十名会员
问题二,我怎么编写SQL语句来得出上周卖得最多的前十名会员(每周更新一次,按周来算)
不行,报错
SELECT [user] FROM (SELECT rownum as num,[user] FROM (select * from Things where inTime>DateAdd(day,-7,GetDate())) and rownum<=10 )

服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'and' 附近有语法错误。

如果你用的是SQLSERVER:
一、
select top 10 user, count(user) from Things
where
Sell = 1
and datediff( wk, InTime, getdate() ) = 0
group by user

二、
select top 10 user, count(user) from Things
where
Sell = 1
and datediff( wk, InTime, getdate() ) = 1
group by user

以此类推。

表有问题吧
一件产品只有一个吗?如果不考虑这些
select top 10 user from (select user,count(user) count from things where intime>getdate()-7 group by user) order by count desc

问二,雷同

select top 10 User, Count(Sell)
from Things
where Sell = 1 and InTime > getdate()-7
group by User
order by Count(Sell) desc

问题一,我怎么编写SQL语句来得出一周以内卖得最多的前十名会员
select top 10 [User]
from Things
where InTime >convert(varchar(8),dateadd(ww,-1,getdate()),112) and Sell=1
group by [User]
order by count(*) desc

问题二,我怎么编写SQL语句来得出上周卖得最多的前十名会员(每周更新一次,按周来算)
select top 10 [User]
from Things