数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
用SQL语句统计IP地址前三段

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

/* written by Jaron ,2003-07-10 */
/* 首次发表于CSDN */
/* 转载请注明出处和保留此版权信息 */

在做网站统计专家时,我们需要对IP地址段进行统计和分析,这里应用SQL-SERVER的自定义函数和存储过程实现在数据库中直接生成结果,以下代码稍作修改即可。

/* SQL语句 */

select top 99 dbo.fn_ipleft3(IPAddress),count(id) FROM tblStatisticalDetail  group by dbo.fn_ipleft3(IPAddress) order by count(id) desc

/* 自定义函数的内容 */

CREATE function fn_ipleft3(@ipaddr varchar(100))
returns nvarchar(50)
as
begin

declare @ip_resault varchar(100)
set @ip_resault=''

declare @aa varchar(100),@bb int,@cc int
set @aa=@ipaddr

set @bb=0
set @cc=charindex('.',@aa)
set @ip_resault=@ip_resault+right('00'+substring(@aa,@bb,@cc-@bb)+'.',4)

while @cc>0
begin
  set @bb=@cc+1
  set @cc=charindex('.',@aa,@bb)
  set @ip_resault=@ip_resault+right('00'+substring(@aa,@bb,case when @cc>0 then @cc-@bb else len(@aa) end)+'.',4)
end

return left(@ip_resault,11)
end




相关文章

相关软件