有个思路有点老土, select top 10 songname,lastupdated from song
where datediff(ww,lastupdated,getdate())=0 order by 点击次数 desc
select top 10 sitename,lastupdated from song
where datediff(dd,lastupdated,getdate())=0 order by 点击次数 desc这个是按本日日期来取得排行的。但是比果今天的三个东西点击数分别是60 45 22
那就是这样排的
60
45
22但是要是第了第二天,三个东西的点击数又累积到 80 99 78那排行就是
99
80
78但是实际上第二天的第一个东西增加了20 第二个东西增加了 54 第三个东西增加了56
而正确的显示应该是
56
54
20
而不是上面的
99
80
78且还得实现每天从头记录一次。一周累积记录一次。一月累积记录一次。还要一个永久的总排行,也就是记录总合。。
这个要咋实现呢。各个大大请出下高招。。
此问80分-------分割线-----
我还有一个程序的用户和信息得导入另一个程序的用户 信息数据库是不同的表结构。。
感觉有点像某某论坛转换到某某论坛那种转换器。
这个也请给点思路。谢谢了
此问20分。。
where datediff(ww,lastupdated,getdate())=0 order by 点击次数 desc
select top 10 sitename,lastupdated from song
where datediff(dd,lastupdated,getdate())=0 order by 点击次数 desc这个是按本日日期来取得排行的。但是比果今天的三个东西点击数分别是60 45 22
那就是这样排的
60
45
22但是要是第了第二天,三个东西的点击数又累积到 80 99 78那排行就是
99
80
78但是实际上第二天的第一个东西增加了20 第二个东西增加了 54 第三个东西增加了56
而正确的显示应该是
56
54
20
而不是上面的
99
80
78且还得实现每天从头记录一次。一周累积记录一次。一月累积记录一次。还要一个永久的总排行,也就是记录总合。。
这个要咋实现呢。各个大大请出下高招。。
此问80分-------分割线-----
我还有一个程序的用户和信息得导入另一个程序的用户 信息数据库是不同的表结构。。
感觉有点像某某论坛转换到某某论坛那种转换器。
这个也请给点思路。谢谢了
此问20分。。
日,周,月分别计数,
if(日>7日) 则重新计数,把7天的数保存下来.
if(周>4周) 再次保存,重新计数.把每天的那个数量天天刷就可以了,周的话每天加一次,然后排名,月的话每4周排一次.-------------------------不同表的结构也可以导的,ACCESS为例,导入时会让你先择哪个列对应什么字段.
日,周,月分别计数,
if(日 >7日) 则重新计数,把7天的数保存下来.
if(周 >4周) 再次保存,重新计数. 把每天的那个数量天天刷就可以了,周的话每天加一次,然后排名,月的话每4周排一次.
这个能不能再详细一点点
if(日 >7日) 则重新计数,把7天的数保存下来.
if(周 >4周) 再次保存,重新计数.
然后就是对数据库的操作.对不,自己想想看!!你可能没有理解我的意思!!
select top 10 songname,lastupdated from song
where datediff(ww,lastupdated,getdate())=0 order by 点击次数 desc
select top 10 sitename,lastupdated from song
where datediff(dd,lastupdated,getdate())=0 order by 点击次数 desc =>>
select top 10 songname,lastupdated from song
where lastupdated>=DATEADD(ww, -1, getdate()) order by 点击次数 desc
select top 10 sitename,lastupdated from song
where lastupdated>=DATEADD(dd, -1, getdate()) order by 点击次数 desc