再发表的格式发一下:
ID keyword searched grade
1 net1 2
2 new1 2
3 test 16
4 net1new1test 3
5 fdfdfd 2
6 牛仔 男装牛仔 24
7 牛仔,男装牛仔 2
8 mens 1
9 jeans 3
10 fdsf 2
11 fdsfs 2
12 牛 马仔 3
14 男装,牛仔 1
17 sss,tessss 6
18 test see sss 5
22 windows 2
23 2003 2
24 windows 2003 2
25 test test 2
26 牛仔,男装牛仔 8
ID keyword searched grade
1 net1 2
2 new1 2
3 test 16
4 net1new1test 3
5 fdfdfd 2
6 牛仔 男装牛仔 24
7 牛仔,男装牛仔 2
8 mens 1
9 jeans 3
10 fdsf 2
11 fdsfs 2
12 牛 马仔 3
14 男装,牛仔 1
17 sss,tessss 6
18 test see sss 5
22 windows 2
23 2003 2
24 windows 2003 2
25 test test 2
26 牛仔,男装牛仔 8
就是将所有的记录条数平均分成五份(五个级别)就行了,再根据被搜索的次数,由高到低,依次填上每个关键词所属的级别(就是grade后面填上"1级").
----------------------------------------你这个分组不科学啊,平均分成5份,你有很多相同的searched,难道要分到两个组里吗??像searched为2的就有10个了。
1-5
6-10
11-15
16-20
21-25
--建立测试环境
Create table TEST
(ID Int,
keyword Nvarchar(50),
searched Int,
Grade Int
)
GO
--插入数据
Insert TEST Values(1,N'net1',2,Null)
Insert TEST Values(2,N'new1',2,Null)
Insert TEST Values(3,N'test',16,Null)
Insert TEST Values(4,N'net1new1test',3,Null)
Insert TEST Values(5,N'fdfdfd',2,Null)
Insert TEST Values(6,N'牛仔 男装牛仔',24,Null)
Insert TEST Values(7,N'牛仔,男装牛仔',2,Null)
Insert TEST Values(8,N'mens',1,Null)
Insert TEST Values(9,N'jeans',3,Null)
Insert TEST Values(10,N'fdsf',2,Null)
Insert TEST Values(11,N'fdsfs',2,Null)
Insert TEST Values(12,N'牛 马仔',3,Null)
Insert TEST Values(14,N'男装,牛仔',1,Null)
Insert TEST Values(17,N'sss,tessss',6,Null)
Insert TEST Values(18,N'test see sss',5,Null)
Insert TEST Values(22,N'windows',2,Null)
Insert TEST Values(23,N'2003',2,Null)
Insert TEST Values(24,N'windows 2003',2,Null)
Insert TEST Values(25,N'test test',2,Null)
Insert TEST Values(26,N'牛仔,男装牛仔',8,Null)
GO
--测试
Select * from TESTUpdate TEST Set Grade=(Case When searched>=1 And searched<=5 Then 1
When searched>=6 And searched<=10 Then 2
When searched>=11 And searched<=15 Then 3
When searched>=16 And searched<=20 Then 4
When searched>=21 And searched<=25 Then 5 End ) Select * from TEST
--删除测试环境
DROP table TEST
回 jerry_yuan(jerry):用触发器怎么样做,能具体讲一下么?
----------------------------------------------------------------------------
触发器的道理和这个类似。在表里写一个Update的触发器,如果是更新searched这个字段,就判断这个次数在哪个区间,并更新
Grade的值。