如何把这个MS SQL的语句换成等价的MySQL语句?
语句如下,其中字段名存储的是网址,整个代码的功能就是统计相同网站的次数,
比如说有两条记录,一个是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添加服务类别(表单).然后又后台程序读取表单..要实时读取..然后显示在服务器上面..从理论上面能行通不?如果可以..后台 ......
with adod_dict do
begin
close;
commandtext:='select bgqxcode,count(*) wjsl from wscl_wsda_file where wjnd=:tnd group by bgqxcode'; ......
我EXCEL中一个单元格的数据如 "2009-01","8949-232"
将这个数据粘贴到PL/SQL中的一个表中后,数据确是成为了 2009-01,8949-232 ,把所有的""都没了,
如何弄呢?请大家试 ......
下面的日期我要用变量表示
但我接收的日期的格式与下面不同
我接收的如 2009-10-10
我应该怎么变呢?
每次都把 date1 和date2用String 这样是不是不好
SQL code:
between '" ......