语句如下,其中字段名存储的是网址,整个代码的功能就是统计相同网站的次数,
比如说有两条记录,一个是http://www.baidu.com/ 另一个是http://www.baidu.com/a/b/c/d/
这段代码就会按照点号"."的位置把"baidu"取出来,那么baidu的访问次数是2,就是这么个效果
现在的问题就是MySQL没有提供CHARINDEX函数,我搜了一下,MySQL里有个instr函数,但是这个函数只能有两个参数,
但是注意这个代码中有几个CHARINDEX里是三个参数,这就是最大的问题。
SQL code:
SELECT top 6
COUNT
(
SUBSTRING
(
字段名,
CHARINDEX('.',字段名)+1,CHARINDEX('.',字段名,CHARINDEX('.',字段名)+1)-CHARINDEX('.',字段名)-1
)
)
as nCount,
SUBSTRING
(
字段名,
CHARINDEX('.',字段名)+1,CHARINDEX('.',字段名,CHARINDEX('.',字段名)+1)-CHARINDEX('.',字段名)-1
)
as address
from 表名
GROUP BY
SUBSTRING
(
字段名,
CHARINDEX('.',字段名)+1,
CHARINDEX('.',字段名,CHARINDEX('.',字段名)+1)-CHARINDEX('.',字段名)-1
)
order by count(*) desc
SQL code:
mysql> select * from url;
+-------------------------------+
| url |
+-------------------------------+
| http://www.baidu.com/ |
| http://www.baidu.com/a/b/c/d/ |
| http://www.sina.com
....接到一个小程序..工作原来大概是这样的...前台是WEB服务器.架构就是ASP+SQL..前台由ASP向SQL添加服务类别(表单).然后又后台程序读取表单..要实时读取..然后显示在服务器上面..从理论上面能行通不?如果可以..后台 ......