group系列

之前觉得这里简单不需要再进行总结了。后来发现还是需要总结巩固一下,还是有一些方法之类的之前未使用过。这里来重新整理,记录一下。

group by

将表中的数据根据某个条件进行分组。

比如下面这张表:

如果我们按照班级进行分组 那么数据将会是这样的:

通过mysql执行表格数据进行校验:

select classname ,GROUP_CONCAT(id,name,courseName,score SEPARATOR '%') from winfun GROUP BY classname;

运行结果:

group_concat()待会再总结。

根据group by的特性,这也是为什么通过group by进行分组后,我们对数据操作需要借助一些函数。

分组后数据变成了一行中包含多条数据,没办法在mysql中通过表格表现出来。

concat_ws()函数

caoncat_ws()函数可以把字段之间拼接起来

官网示例:

mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
-> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
-> 'First name,Last Name'

功能就是将字符串通过自己设定的分隔符拼接起来:

select CONCAT_WS(',,,','he','ll','o');

运行结果:

group_concat()函数

在group by中使用过该函数,它可以把通过group by分组后后面的数据拼接起来。

通过group by分组后的数据:

如果我们按照classname分组,那么分组后当前组的数据,就是group_concat()的主要拼接对象。

group_concat()语法:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])

示例sql:

select classname ,GROUP_CONCAT(id,name,courseName,score ORDER BY score  SEPARATOR '%') from winfun
GROUP BY classname; group_caoncat(要拼接的数据[,要拼接的数据...] [order by column desc|asc] SEPARATOR 'string') -- SEPARATOR 这里设置每条数据间的分割符

运行结果:

这里我们可以和上面的concat_ws()函数一起来使用:

select classname ,GROUP_CONCAT(CONCAT_WS(' | ',id,name,courseName,score) ORDER BY score  SEPARATOR '%') from winfun GROUP BY classname;

运行结果:

group by 、concat_ws()、 group_caoncat()的使用的更多相关文章

  1. mysql基于“报错”的注入

    报错是如何转为xss的? mysql语句在页面报错,泄露信息 ===================================================================== ...

  2. MYSQL报错注入方法整理

    1.通过floor暴错 /*数据库版本*/ SQL http://www.hackblog.cn/sql.php?id=1 and(select 1 from(select count(*),conc ...

  3. MySQL暴错注入方法

    mysql暴错注入方法整理,通过floor,UpdateXml,ExtractValue,NAME_CONST,Error based Double Query Injection等方法 1.通过fl ...

  4. 别人的渗透测试(三)--SQL显错注入

    续上一章. 安全狗拦下7成的人,过狗是门学问,偷笑.jpg.很感谢和https://home.cnblogs.com/u/xishaonian/ 博主能一起研究过狗. 说多了,言归正传SQL注入大显错 ...

  5. 大数据入门到精通16--hive 的条件语句和聚合函数

    一.条件表达 case when ... then when .... then ... when ... then ...end select film_id,rpad(title,20," ...

  6. MySQL暴错注入方法整理

    1.通过floor暴错 /*数据库版本*/ http://www.waitalone.cn/sql.php?id=1+and(select 1 from(select count(*),concat( ...

  7. MySQL基于报错注入2

    目标站点: 0x1 注入点判断 http://www.xxxxxx.com/pages/services.php?id=1 #true http://www.xxxxxx.com/pages/serv ...

  8. MySQL报错注入总结

    mysql暴错注入方法整理,通过floor,UpdateXml,ExtractValue,NAME_CONST,Error based Double Query Injection等方法. 报错注入: ...

  9. MySQL的注入总结

    0x01 MySQL 5.0以上和MySQL 5.0以下版本的区别 MySQL5.0以上版本存在一个叫information_schema的数据库,它存储着数据库的所有信息,其中保存着关于MySQL服 ...

  10. SQL注入常用命令

    1. 数据库查询版本 Mssql select @@version Mysql select vresion()/select @@version oracle select banner from ...

随机推荐

  1. Java反射与安全问题

    1.Java反射机制 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的 ...

  2. 安装es可视化软件Kibana

    一 Kibana介绍 Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作. 您.可以使用 Kibana 对 Ela ...

  3. 90%的Java开发人员都会犯的5个错误

    前言 作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug.这些错误通常需要您几个小时才能解决.当你找到它们的时候,你可能会默默地骂自己是个傻瓜.是的,这些可笑的bug基本上都是你忽 ...

  4. sqli-laba靶场搭建

    windows下安装sqli-laba 环境:windows10 安装phpstudy 1.下载并安装小皮面板phpstudy(傻瓜式安装) https://www.xp.cn/windows-pan ...

  5. [LeetCode]杨辉三角 II

    题目 代码 class Solution { public: vector<int> getRow(int rowIndex) { vector<int> array(rowI ...

  6. [LeetCode]至少是其他数字两倍的最大数

    题目 代码 class Solution { public: int dominantIndex(vector<int>& nums) { vector<int> so ...

  7. while循環的一些判斷條件和讀取循環精簡方法

    while是入口條件循環 在進入循環體時必須要有獲取輸入數據并判斷的并檢查輸入數據的值,所以在while之前放一個scanf函數,讓循環繼續執行. 如果想讓循環繼續進行,那麽還需要在循環内設置一個讀取 ...

  8. Java基础学习笔记-常量与变量♪(^∇^*)

    常量与变量相同点 都有作用域,跟JS差不多, 变量的作用域:一对{ }之间有效 1.局部 2.全局 2.1.属于类的量(类常量和类变量) 2.2.属于实例的量(实例常量和实例变量) • 前面都可加权限 ...

  9. three.js实现分模块添加梦幻bloom辉光光晕方案--详细注释版本~~方案三版本~~

    先上图对比方案1-2-3不同点,本文是方案3 方案1(旋转场景情况下发光体不应该遮住另一个,但是遮住了) 方案2(层次正常,发光正常) 方案3(层次正常,发光正常,但是转动场景时候部分辉光会被遮挡,但 ...

  10. 多行文字自动换行居中--实测好用的很OK

    实测好用的很~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...