创建表以计算每小时的访问量

时间:2015-04-01 21:28:38

标签: sql sql-server tsql count

当我的客户创建一个帐户并显示信息时,我需要计算许多访问有一个应用程序,所以我的客户可以看到他们有多少次访问

我创建了一个存储整数的表,但我不确定这是否是正确的选择

CREATE TABLE tbHit(
intHit INT IDENTITY(1,1) NOT NULL,
intClient INT,
intYear INT,
intMonth INT,
intDay INT,
hr00 INT,
hr01 INT,
hr02 INT,
hr03 INT,
hr04 INT,
hr05 INT,
hr06 INT,
hr07 INT,
hr08 INT,
hr09 INT,
hr10 INT,
hr11 INT,
hr12 INT,
hr13 INT,
hr14 INT,
hr15 INT,
hr16 INT,
hr17 INT,
hr18 INT,
hr19 INT,
hr20 INT,
hr21 INT,
hr22 INT,
hr23 INT
)

我应该将所有访问存储在同一个表中还是应该创建另一个表或其他方式来获取所有这些内容?

2 个答案:

答案 0 :(得分:2)

每次访问时,都应该在表格中插入一行:

create table hits (id1 identity, 
customer_id  int,
visited_on datetime)

如果你以这种方式存储,有日期和时间功能可以让你以任何你想要的角度(按天,小时,星期几)切片和切块。

答案 1 :(得分:0)

使用计算列并拆分日期和时间以简化日后的查询

CREATE TABLE tbHit ( intHit    INT IDENTITY(1,1) NOT NULL
,                    intClient INT
,                    enter_date as convert(varchar(10),getdate(),113)
,                    enter_time as convert(varchar(10),getdate(),108) )