日期:2014-05-18  浏览次数:20669 次

有很多记录 怎样统计最后一条记录 在所有的记录中连续出现最多的次数
有很多记录   怎样统计最后一条记录   在所有的记录中   “连续”   出现最多的次数
假如   字段   id   ,第一列(varchar),第二列(varchar)。
id   ,第一列,第二列。
1         3               4
2         3               5
3         3               6
4         4               6
5         5               7
6         3               6
7         6               5
8         2               5
9         3               6

第九条数据记录   第一列的是   “3”     第二列的   是“6”
我想的到的结果是
第一列次数       第二列次数
    3                           2

就是最后一条数据在表中在所有数据中“连续”出现最多的次数


------解决方案--------------------
这个得用循环来写了.
------解决方案--------------------
第二列次数 2 这个2是怎么得到的阿!记录中有三条是 3 6 为什么只显示2啊~

------解决方案--------------------
create table test(id int identity,col1 varchar(2),col2 varchar(2))
go
insert test select '3 ', '4 '
union all select '3 ', '5 '
union all select '3 ', '6 '
union all select '4 ', '6 '
union all select '5 ', '7 '
union all select '3 ', '6 '
union all select '6 ', '5 '
union all select '2 ', '5 '
union all select '3 ', '6 '
go

select
(select count(distinct t1.id)
from test t1,test t2
where (t2.id = t1.id +1 or t1.id = t2.id + 1) and
t1.col1 = s.col1 and t2.col1 = s.col1) as 第一列次数,
(select count(distinct t1.id)
from test t1,test t2
where (t2.id = t1.id +1 or t1.id = t2.id + 1) and
t1.col2 = s.col2 and t2.col2 = s.col2) as 第二列次数
from
(select col1,col2 from test where id = (select max(id) from test)) s

--结果
第一列次数 第二列次数
3 2