求教sql语句解释

caoqinghua 2015-10-09 10:58:29
有一条mysql语句

select @rank:=0;
select * from(select *,(@rank:=@rank+1) as rank from t_1038_20150812) as dd where dd.rank%40=0;

这两条语句是要查询什么?
这两条语句可以合并成一条语句吗?
...全文
167 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
道玄希言 2015-10-09
  • 打赏
  • 举报
回复
取 t_1038_20150812 表数据位置能被 40 整除的纪录。 select @rank:=0; select *,(@rank:=@rank+1) as rank from t_1038_20150812 这两句, 就是给表t_1038_20150812数据添加一个连续的序号字段 rank 合起来, 就是取序号能被 40 整除的纪录。
rucypli 2015-10-09
  • 打赏
  • 举报
回复
对符合where条件的sql结果集加上一列排名列 合并不了
树橙 2015-10-09
  • 打赏
  • 举报
回复
select *,(@rank:=@rank+1) as rank from t_1038_20150812,(select @rank:=0) tt;
  • 打赏
  • 举报
回复
你是想让语句合并成1个吗,这个在mysql没办法,如果是其他的数据库通过rank函数就可以了。 另外,这个语句其实就是给每天记录编个号,从1开始2,3,4。。。 编好号后,再过滤出 能被40整除的 记录

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧