sql
Lovme_du
虽然努力不一定能成功,但是不努力真的好爽!
展开
-
mysql sql将逗号分割字段拆为多条数据展示
实际开发中有时候为了减少表数量,设计字段按逗号隔开,数据展示需要将逗号分割字段拆成多条数据。具体处理SQL:SELECT a.id, substring_index( substring_index(a.逗号分隔的字段, ',', b.id), ',', - 1 )FROM 处理表 aLEFT JOIN 分割字段关联表 b ON b.id <= ( LENGTH(a.逗号分隔的字段) - LENGTH(REPLACE (a原创 2020-07-01 17:51:59 · 2486 阅读 · 0 评论 -
mysql 用if判断连哪个表,并使用一个字段展示值
根据表cz_course的course_type字段1、2、3类别展示出不通表的分数。SELECT ccs.id, ccs.student_id, ccs.`name`, ccs.class_name, ( CASE WHEN cce.course_type = 1 THEN czso.end_score WHEN cce.course_type = 2 THEN czst.end_score WHEN cce.course_type = 3 THEN cz.原创 2020-05-28 10:27:55 · 1364 阅读 · 0 评论 -
mysql查询字段重复数据
-- 查询表的某个字段数据重复的所有数据:table-表,a-重复字段mysql> select * from table WHERE a in ( select a from table group by a having count(a)>1)注释:table-表,a-重复字段...原创 2019-12-17 13:08:38 · 202 阅读 · 0 评论 -
MySql使用group_concat()后去重
工作场景: 行转列显示数据值,例如:统计A表里面所有a分组的b字段(带去重)。SQL:SELECT sur.a, group_concat( DISTINCT `sur`.`b` SEPARATOR '--' ) AS `name`FROM A surGROUP BY sur.a-- DISTINCT 将名字去重-- SEPARATOR 每个名字间有使用"--"连接...原创 2019-11-26 11:30:18 · 17037 阅读 · 0 评论 -
SQL日期查询
今天:select * from 表名 where to_days(时间字段名) = to_days(now());昨天:SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天:SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=...转载 2018-12-24 18:07:51 · 1718 阅读 · 0 评论 -
count(1)、count(*) 与 count(列名) 的执行区别
SQL查询 count(1)、count(*) 、 count(列名) 的区别执行效果上:count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL。count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。count(*)包括了所有的列,相当于...原创 2019-11-26 10:23:56 · 149 阅读 · 0 评论