有一条mysql语句
select @rank:=0;
select * from(select *,(@rank:=@rank+1) as rank from t_1038_20150812) as dd where dd.rank%40=0;
这两条语句是要查询什么?
这两条语句可以合并成一条语句吗?
select @rank:=0;
select * from(select *,(@rank:=@rank+1) as rank from t_1038_20150812) as dd where dd.rank%40=0;
这两条语句是要查询什么?
这两条语句可以合并成一条语句吗?
解决方案
10
对符合where条件的sql结果集加上一列排名列 合并不了
10
取 t_1038_20150812 表数据位置能被 40 整除的纪录。
select @rank:=0;
select *,(@rank:=@rank+1) as rank from t_1038_20150812
这两句, 就是给表t_1038_20150812数据添加一个连续的序号字段 rank
合起来, 就是取序号能被 40 整除的纪录。
select @rank:=0;
select *,(@rank:=@rank+1) as rank from t_1038_20150812
这两句, 就是给表t_1038_20150812数据添加一个连续的序号字段 rank
合起来, 就是取序号能被 40 整除的纪录。
10
你是想让语句合并成1个吗,这个在mysql没办法,假如是其他的数据库通过rank函数就可以了。
另外,这个语句其实就是给每天记录编个号,从1开始2,3,4。 编好号后,再过滤出 能被40整除的 记录
另外,这个语句其实就是给每天记录编个号,从1开始2,3,4。 编好号后,再过滤出 能被40整除的 记录
10
select *,(@rank:=@rank+1) as rank from t_1038_20150812,(select @rank:=0) tt;