数据表中记录如下:
a
b
c
a
d
e
f
a
g其中 a 出现过数次
现在想得到几个a之间的间隔记录数或最大间隔
如:第一个a与第二个a间隔为2
第二个a与第三个a间隔为3
最大间隔为3
a
b
c
a
d
e
f
a
g其中 a 出现过数次
现在想得到几个a之间的间隔记录数或最大间隔
如:第一个a与第二个a间隔为2
第二个a与第三个a间隔为3
最大间隔为3
解决方案 »
- C#MySql不定时出现Unable to connect to any of the specified MySQL hosts
- 帮我写一条MySQL语句,急用,谢谢
- 关于mysql存储过程的问题,请高手指点
- 急求一条查询语句
- 着急着急着急!!在线等
- msql 和 java 通过hibernate连接后读取utf-8中文的问题。
- 初用MYSQL,问个弱智的问题!
- select a.field1 & b.field2 as result from table1 a ,table2 b 如何实现
- mysql里面如何实现这样的递归查询?
- 好像有个基于网页的Mysql管理界面,不知道叫什么,在哪里能下载?
- ubuntu下mysql问题
- 求mysql的字符串替换
SELECT BH,MAX(SS) FROM (
SELECT *,(SELECT MIN(id) FROM aa3 WHERE a.`bh`=bh AND a.`id`<id)-1-id AS ss FROM aa3 a) B
GROUP BY BH
SELECT BH,MAX(SS) FROM (
SELECT *,(SELECT MIN(id) FROM aa3 WHERE a.`bh`=bh AND a.`id`<id)-1-id AS ss FROM aa3 a) B WHERE BH='a'
GROUP BY BH
不过不一定字段值是连续的
比如ID字段值可能是:
2
3
4
7
9
....
SELECT MAX(js) FROM (
SELECT b.bh,b.ss,COUNT(*)-2 AS js FROM aa3 a
RIGHT JOIN (
SELECT *,(SELECT MIN(id) FROM aa3 WHERE a.`bh`=bh AND a.`id`<id) AS ss FROM aa3 a) b
ON a.id BETWEEN b.id AND b.ss WHERE b.bh='a'
GROUP BY b.`bh`,b.ss) c
(
select 比如ID字段,记录A
(select count(*) from 数据表 where 比如ID字段=t.比如ID字段)-
(select count(*) from 数据表 where 比如ID字段<=( select 比如ID字段 from 数据表 where 记录A='a' and 比如ID字段<t.比如ID字段))
as 间隔
from 数据表 t
where 记录A='a'
) v
再请教一下数据表中记录如下:
a1
b
c
a23
d
e
f
a4
g其中 a 出现过数次
现在想得到几个a之间的间隔记录数或最大间隔
如:第一个a与第二个a间隔为2
第二个a与第三个a间隔为3
最大间隔为3有id字段,不连续
RIGHT JOIN (
SELECT *,(SELECT MIN(id) FROM aa3 WHERE a.`bh`=bh AND a.`id`<id) AS ss FROM aa3 a) b
ON a.id BETWEEN b.id AND b.ss WHERE b.bh='a'
GROUP BY b.`bh`,b.ss
这个是几个a之间的间隔记录数