![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
高级生信攻橙诗~
这个作者很懒,什么都没留下…
展开
-
leetcode刷sql(1543)-trim去除空格的用法
今天这道题让我学习了trim()的用法先介绍trim():trim() 去除前后空格(保留中间空格)ltrim() 去除左边空格rtrim() 去除右边空格replace(… , ’ ‘,’’) 去除全部空格,可实现相同功能然后上题目这个题目里还有一个要求,转换大小写,用到的函数lower()另外需要注意的一点是,mysql 的 group by、order by 后面不能跟别名,须得写全。以下是答案:select lower(trim(product_name)) pro原创 2020-12-18 11:27:11 · 242 阅读 · 0 评论 -
leetcode刷sql(1613)--找到遗失的id
找到遗失的id做这道题时,学到了recursive的使用方法sql中with xxxx as () 是对一个查询子句做别名,同时数据库会对该子句生成临时表with recursive 则是一个递归的查询子句,它会把查询出来的结果再次代入到查询子句中继续查询。可以这样理解,dep=n+1是dep=n的递归调用sqlwith recursive t1 as ( select 1 as n union all select n + 1 from t1 where n &l原创 2020-12-15 20:33:57 · 254 阅读 · 0 评论 -
leetcode刷sql(1511)-having里的条件判断
今天遇到一道题目,打开了having使用的新世界本来设想中是比较复杂的临时表。看题解学到了having的筛选用法。select c.customer_id,c.namefrom customers cjoin orders o on c.customer_id=o.customer_idjoin product p on o.product_id=p.product_idgroup by c.customer_id,c.namehaving sum(if(left(order_date,原创 2020-10-30 10:06:17 · 435 阅读 · 0 评论 -
leetcode刷sql(1435)--case when 用法
今天刷sql,一道题目解答的时候用到case when,这样的写法 case when duration/60<5 then '[0-5>' when duration/60<10 then '[5-10>' when duration/60<15 then '[10-15>' else '15 or more' end bin,这种写法里面有个让人困惑的点,第一条包括<5的,第原创 2020-10-26 09:22:18 · 195 阅读 · 0 评论 -
datediff()函数的使用
今天刷leetcode的sql, 看到一道题目,题目的难点在于,近30天这个条件的满足。学习到一个新的函数----datediff():函数返回两个日期之间的天数。【语法】 DATEDIFF(date1,date2)注释:只有值的日期部分参与计算。SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDateSELECT DATEDIFF('2008-11-29','2008-11-30') AS DiffDate以上两条,第一条输出1,第二条原创 2020-10-21 09:43:33 · 14352 阅读 · 4 评论 -
groupby以后为什么需要用sum()等聚合函数取数?
今天刷leetcode的sql题目,遇到一道题,相当于要格式化整个列表,行转列。自然想到用id分组。先放答案:select id,sum(case when month='Jan' then revenue end) Jan_Revenue,sum(case when month='Feb' then revenue end) Feb_Revenue,sum(case when month='Mar' then revenue end) Mar_Revenue,sum(case when m原创 2020-10-21 09:25:05 · 1521 阅读 · 0 评论 -
leetcode 数据库:sql知识记录
178、排名问题涉及到排名,就使用窗口函数select rank() over (order by 成绩 desc) as 'rank',dense_rank() over (order by 成绩 desc) as 'dense_rank',row_number() over (order by 成绩 desc) as 'row_number'from Scores原创 2020-09-16 10:25:54 · 116 阅读 · 0 评论 -
做牛客网sql实战题目:初识窗口函数
牛客网的sql在线实战刷到倒数第二题了,遇到一道需要用窗口函数的题目,虽然用groupby也可以做出正确答案,但还是本着学习新知识的原则,学了下窗口函数。ps:吐槽一波牛客的sql题目好多都叙述不清参考:https://zhuanlan.zhihu.com/p/92654574【用法】<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>)【可用函数】<窗口函数>原创 2020-08-10 22:01:10 · 237 阅读 · 0 评论 -
mysql在Windows系统下发生2002错误的解决办法
用SQLyog连接显示登不上localhost,错误码是2002。已经好几次了,今天想办法解决这个问题。打开cmdnet start mysql显示’系统拒绝访问 5’。切换系统管理身份打开,再输入开启代码,成功打开。...原创 2020-08-10 19:49:56 · 4031 阅读 · 0 评论