试试
Select top 20
aduser,
count(*) as todaytotal,
(Select Count(*) from 表A Where aduser=T.aduser) As alltotal
from 表A T
where datediff(day,[addtime],getdate())=0
group by aduser
order by todaytotal desc,aduser
Select top 20
aduser,
count(*) as todaytotal,
(Select Count(*) from 表A Where aduser=T.aduser) As alltotal
from 表A T
where datediff(day,[addtime],getdate())=0
group by aduser
order by todaytotal desc,aduser
解决方案 »
- 用 BULK INSERT 命令导入文本文件,如何跳过头2行
- 一个比较别扭的查询大家来帮忙啊!
- 通过查询分析器来连接到远程的 SQL Server ,SQL Server 处直接写IP 就可以了吗?
- 急求sql语句!!!!!!!!!!!!!!
- sql数据库多表查询并排序选取前10条记录
- 请问在sql server 2000中的image数据类型
- 关于打Sql Server Sp4补丁的问题
- 高手指点!请问linux下sql server7.0可以运行吗?
- 利用ado向SQL server数据库导大数据量的问题
- 大家快点帮个忙吧想从原来的一个数据库中原有的数据表的其中的一个字段加入数据如何加呢?
- 关于sql存储问题
- 请教主健自增的问题
就没有数据显示了。 alltotal应该无论是什么时间都应该有统计显示的
create table TEST
(
ID Int identity(1,1),
adduser varchar(20),
addtime datetime
)
GO
--插入数据
Insert TEST Values('AAA','2005-04-15')
Insert TEST Values('AAA','2005-04-19')
Insert TEST Values('AAA','2005-04-19')
Insert TEST Values('BBB','2005-04-15')
Insert TEST Values('BBB','2005-04-19')
Insert TEST Values('CCC','2005-04-19')
GO
--测试
Select
adduser,
count(*) as todaytotal,
(Select Count(*) from TEST Where adduser=T.adduser) As alltotal
from TEST T
where datediff(day,[addtime],getdate())=0
Group By adduser
Order By todaytotal desc,adduser
--删除测试环境
Drop table TEST
GO
--结果
/*
adduser todaytotal alltotal
AAA 2 3
BBB 1 2
CCC 1 1
*/