mysql 中类似php switch case 的语句. select xx字段, case 字段 when 条件1 then 值1 when 条件2 then 值2 else 其他值 END 别名 from 表名; 下面是一个分组求和示例: select sum(redpackmoney) as stota,ischeck from t_redpack group by isCheck 使用case when : select sum(redpackmoney) as stota, (CAS…
首先看下常见的攻击载荷,如下: select count(*),(floor(rand(0)*2))x from table group by x; 然后对于攻击载荷进行解释, floor(rand(0)*2) 查询表中内容大于等于3条会报错.一部分原因,因为floor(rand(0)*2)是有规律和固定的. 如果不理解,可以用数据库做下实验.select floor(rand(0)*2) from table ,数据量最好10条左右.你会发现一串0110110011--有规律的数字. 再然后s…
1.union all UNION 操作符用于合并两个或多个 SELECT 语句的结果集.请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. 默认地,UNION 操作符选取不同的值.如果允许重复的值,请使用 UNION ALL. 2.if ifnull 把salary表中的女改成男,男改成女: update salary set sex = if( sex = '男','女','男'); if(tr…
先来一个简单的sum select sum(qty) as total_qty from inventory_product group by product_id 这样就会统计出所有product的qty. 但是很不幸,我们的系统里面居然有qty为负值.而我只想统计那些正值的qty,加上if function就可以了. SQL为: select sum(if(qty > 0, qty, 0)) as total_qty from inventory_product group by produ…
注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条件查询 group by 分组 having 筛选 order by 排序 limit 限制结果条数 为了练习上面5种子句,先建立一张goods表,主要用于查询操作,表结构如下: 所有数据: 1.基础查询 —— where where常用运算符: 1.1 查出主键为20的商品 :mysql> SEL…
排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 By:授客 QQ:1033553122 测试环境 win10 MySQL 5.7 问题描述: 执行类似以下mysql查询, SELECT id, name, count(*) AS cnt FROM case_table GROUP BY name 报错,如下: 服务器内部错误 (1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains…
一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... Connection Current database: *** NONE *** Reading table information for completion of table and column names You can turn off this feature to get a quic…
mysql的SQL_CALC_FOUND_ROWS 和 count(*) 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据 这样的语句可以改成: SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ...... limit M, N;SELECT F…
mysql合并 两个count语句一次性输出结果的方法 需求场景:经常要查看有两个表统计数,用SELECT COUNT(*) FROM hotcontents,SELECT COUNT(*) FROM hotwords 逐句查看结果很麻烦 不直观, 需要能够合并成一句sql执行后一次性输出两个统计结果. SELECT COUNT(*) FROM hotcontents,hotwords 这样是不行的SELECT COUNT(*) FROM hotcontents UNION SELECT COU…