最新消息:

MySQL group by with rollup

MySQL注入 admin 3810浏览 0评论

在mysql数据库的group by语句存在with rollup修饰语,使用with rollup修饰语可以在group by结果后面额外添加一行(该行内容中group by的列会返回一个NULL,其他列则返回相应的内容)。

QQ截图20150513210811

group by .. with rollup的详细使用可以参考官方手册:http://dev.mysql.com/doc/refman/5.5/en/group-by-modifiers.html。为了详细讲解其使用,参考网上的例子进行演示:

(1)建一个简单的表并插入几条简单的数据

CREATE TABLE `t` (
`id` int(11) DEFAULT NULL,
`id2` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk
insert into t value(11,11),(12,12),(13,13);

(2)先做一个简单的查询

select id,sum(id2),avg(id2) from t group by id with rollup;

QQ截图20150513211311

我们可以看到,对于group by的列,with rollup将不会做任何的操作,而是返回一个NULL,而没有group by的列,则根据前面的avg函数和sum函数做了处理。

参考:http://ourmysql.com/archives/1144

——————————————————————————————————————–

有了上面针对group by xxx  with rollup用法的详细介绍,来看《第二届北京网络安全技术大赛夺旗赛Writeup(Web安全篇)》中利用此用法来绕过登陆认证的案例。

本文隐藏内容 登陆 后才可以浏览

转载请注明:jinglingshu的博客 » MySQL group by with rollup

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址