随笔分类 -  SQL

Sql写得好15K just soso
摘要:1.问题 今天又在mysql中遇到了,吐血。 2.解决方案 SQL最后加上 COLLATE utf8mb4_unicode_ci SELECT t2.cust_id as cust_id_ex,t1.* from ( SELECT * from credit_nigeria.apply WHERE 阅读全文
posted @ 2019-11-13 20:00 wqbin 阅读(19137) 评论(0) 推荐(4) 编辑
摘要:MySQL分组排序(取第一或最后) 方法一:速度非常慢,跑了30分钟 SELECT custid, apply_date, rejectrule FROM ( SELECT *, IF ( @pkey <> custid, @rank := 1, @rank := @rank + 1 ) AS ra 阅读全文
posted @ 2019-11-13 19:56 wqbin 阅读(3398) 评论(0) 推荐(1) 编辑
摘要:方法一:like SELECT * FROM 表名 WHERE 字段名 like "%字符%"; 方法二:find_in_set() 利用mysql 字符串函数 find_in_set();如果包含,返回>0的数,否则返回0 。 SELECT * FROM users WHERE find_in_s 阅读全文
posted @ 2019-11-11 22:17 wqbin 阅读(6389) 评论(1) 推荐(1) 编辑
摘要:用字符串拼接SQL串实现动态SQL语句,经常使用。 不过在拼接SQL串中有许多技巧和小陷阱 1.遗漏""和'' 错误案例: 错误结果: 发现没有数据产生。。我还以为是连接错了数据库,检查了半天 修正: 修正后结果: 阅读全文
posted @ 2019-11-07 17:16 wqbin 阅读(290) 评论(0) 推荐(0) 编辑
摘要:背景 有这么一张表,记录名字和分数,现在需要按照成绩排名,存在并列名次的情况 解决方法 思路:按照score从大到小排序,第一行数据就是第一名,第二行就是第二名......需要判断当前行的score和上一行的score的大小用来区分是否排名 细节说明 @preScore 这种是变量声明,类似之前的s 阅读全文
posted @ 2019-11-04 17:26 wqbin 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:才发现原来是在连接mysql时没有参数错误导致的 [root@hadoop01 ~]# mysql -uroot -oproot Warning: Using a password on the command line interface can be insecure. Welcome to t 阅读全文
posted @ 2019-10-29 16:30 wqbin 阅读(319) 评论(0) 推荐(0) 编辑
摘要:1.简单查看路径 1.查看数据库的存放路径 进入mysql终端mysql>show variables like '%datadir%'; 2.查看文件安装路径 [root@hadoop01 etc]# whereis mysql mysql: /usr/bin/mysql /usr/lib64/m 阅读全文
posted @ 2019-10-28 14:32 wqbin 阅读(16674) 评论(0) 推荐(1) 编辑
摘要:所有表从大方向上有 1.表的验证:指标临时表的验证和 指标合并表的验证 2.数据验证:数据总量的验证,数据质量的验证(连续指标和离散指标) 阅读全文
posted @ 2019-07-31 11:09 wqbin 阅读(740) 评论(0) 推荐(0) 编辑
摘要:在数据分析数据差异的时候 经常用到一个图叫做迁移矩阵。 其中里面的值可以是数量也可以是百分比,我们可以从一个时间点明确的看到在另一个时间点或者另一个时间点 子类之间数量迁移。 比如这次我在公司与业务核对星级客户数据的时候就用sql实现了迁移矩阵 思路就是对数据先进行行转列,再进行统计。 阅读全文
posted @ 2019-07-31 11:01 wqbin 阅读(1147) 评论(0) 推荐(0) 编辑
摘要:如何将上个SQL的结果作为参数传递给下个SQL: 阅读全文
posted @ 2019-06-30 00:05 wqbin 阅读(1780) 评论(0) 推荐(0) 编辑
摘要:1 nike 20180901 20180905 2 nike 20180903 20180906 3 nike 20180909 20180915 4 oppo 20180804 20180805 5 oppo 20180804 20180815 6 vivo 20180815 201... 阅读全文
posted @ 2019-06-22 23:18 wqbin 阅读(517) 评论(0) 推荐(0) 编辑
摘要:SET NOCOUNT ON , SET NOCOUNT OFF当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。如果存储过程中包含的一些语句并不返回许多实际的数据, 则该设置由于大量减少了 阅读全文
posted @ 2019-06-14 11:39 wqbin 阅读(617) 评论(0) 推荐(0) 编辑
摘要:mysql中的函数,字符串拼接的话,可以用concat(),但是此函数是针对一条记录中,可以将不同的字段拼接,并不适用多条记录的某一字段。 mysql中group_concat函数多条记录的某一字段拼接。需要和group by一起使用 不和group by一起使用 阅读全文
posted @ 2019-01-23 22:18 wqbin 阅读(220) 评论(0) 推荐(0) 编辑
摘要:一、CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串。使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为 1、语法及使用特点:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为 阅读全文
posted @ 2019-01-14 14:58 wqbin 阅读(117100) 评论(0) 推荐(2) 编辑
摘要:一般在公司的字符串处理相对复杂。我又比较懒。更喜欢使用java的udf解决。之前在面试问到一个正则没有回答上来。就GG了。 SQL中的正则: 1) regexp_extract regexp_extract(str , regexp , idx) 参数解释: str是被解析的字符串或字段名 rege 阅读全文
posted @ 2019-01-10 10:26 wqbin 阅读(4967) 评论(0) 推荐(0) 编辑
摘要:今天被问到一个问题?挺简单的 把if换成case就可以实现多列取一列。 阅读全文
posted @ 2019-01-09 20:05 wqbin 阅读(319) 评论(0) 推荐(0) 编辑
摘要:原始数据如下图所示:(商品的销售明细)date=业务日期;Item=商品名称;saleqty=销售数量 -- 建立测试数据(表)create table test (Date varchar(10), item char(10),saleqty int);insert test values('20 阅读全文
posted @ 2019-01-05 11:51 wqbin 阅读(2947) 评论(0) 推荐(0) 编辑