SQL
文章平均质量分 73
The Cabbage.GGG
这个作者很懒,什么都没留下…
展开
-
新用户N日留存率 和 用户N日留存率
最近在复习SQL,这个经典题目拿出来写一下加深记忆。新用户N日留存率就用牛客网的图拉过来做一下说明对于新用户,我们要找到的就是ta登录的第一天(min date)和第N天(DATE_SUB(min date INTERVAL N DAY)。对于留存率,比较常见的方法是left join所以这里我们用包含min dated的表作为A表,用完整的包含intime outtime(用union连接)的表作为B表重点在于A LEFT JOIN B ON A KEY = B KEY AND A.MIN原创 2022-02-20 22:15:15 · 514 阅读 · 0 评论 -
牛客网SQL--某东篇
计算商城中2021年每月的GMV问题:请计算商城中2021年每月的GMV,输出GMV大于10w的每月GMV,值保留到整数。注:GMV为已付款订单和未付款订单两者之和。结果按GMV升序排序。场景逻辑说明:用户将购物车中多件商品一起下单时,订单总表会生成一个订单(但此时未付款,status-订单状态为0,表示待付款);当用户支付完成时,在订单总表修改对应订单记录的status-订单状态为1,表示已付款;若用户退货退款,在订单总表生成一条交易总金额为负值的记录(表示退款金额,订单号为退款单号,stat原创 2022-01-20 17:40:35 · 1189 阅读 · 0 评论 -
MySQL 五十题(慢慢更)
自己拿来练习SQL的,每天几道题慢慢更新USE fifty;– 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数SELECT student.*,a.s_score as 01_score,b.s_score as 02_scoreFROM studentJOIN score aON student.s_id = a.s_id AND a.c_id = 01LE...原创 2020-02-23 16:23:54 · 216 阅读 · 0 评论 -
SQLZOO (NULL) 答案
List the teachers who have NULL for their department.SELECT name FROM teacher WHERE dept IS NULLNote the INNER JOIN misses the teachers with no department and the departments with no teacher...原创 2020-02-16 15:38:29 · 326 阅读 · 0 评论 -
SQL JOIN 函数
在SQL中,我们经常需要将表与表之间连接起来,以达到我们查找的目的,这个时候我们有两种方法,一种是SELECT *FROM table a,table b,table c WHERE a.id=b.id AND b.id = c.id另一种就是使用JOIN函数,相比于单纯的多表查询运用JOIN用处更多,更加细致,使代码更可观更易理解。但是即使使用了JOIN函数,多表查询依旧可以说是SQL查...原创 2020-02-14 22:03:33 · 1990 阅读 · 0 评论 -
SQL插入、更新和删除
SQL插入SQL 的插入指的是,对于某一个表插入新的一行数据在这里用到的命令是INSERT这种是插入值与列名一一对应的方法,所以value的顺序并不是对应着真实的表中的列名顺序,而是对应着你写的table后()中的顺序。INSERT INTO table(colname1,colname2…)VALUE(‘value1’,‘value2’…),(‘value1’,‘value2’…),...原创 2020-02-12 21:56:14 · 338 阅读 · 0 评论 -
SQLZOO(The JOIN operation\More JOIN operations)答案
The first example shows the goal scored by a player with the last name ‘Bender’. The * says to list all the columns in the table - a shorter way of saying matchid, teamid, player, gtimeModify it t...原创 2020-02-11 22:18:02 · 326 阅读 · 0 评论 -
SQLZOO(SUM and COUNT,GROUP BY)答案
Show the total population of the world.SELECT SUM(population)FROM worldList all the continents - just once each.很明显的一个去重,用DISTINCTSELECT DISTINCT continent FROM worldGive the total ...原创 2020-02-11 20:56:26 · 133 阅读 · 0 评论 -
SQLZOO(SELECT within SELECT Tutorial)答案
1 List each country name where the population is larger than that of ‘Russia’.SELECT name FROM worldWHERE population >(SELECT population FROM worldWHERE name=‘Russia’)Show the countries i...原创 2020-02-10 22:29:26 · 230 阅读 · 0 评论 -
SQL计算函数、数据处理函数和聚集函数
SQL计算函数SQL拼接函数concat是SQL的拼接函数,当我们想实现列与列的拼接的时候,比如我们想在国家的名称(Name)后面添加他们的代码(code),比如United Kingdom(UK).SELECT CONCAT(Name,’(’,code,’)’) AS Title FROM world.country;这里面的AS是用来替换新列名的,不然出来的新的列名字会很难看(因为...原创 2020-02-08 20:15:41 · 107 阅读 · 0 评论 -
SQL通配符及正则表达式
SQL通配符只用WHERE函数进行数据查找的话,功能未免显得有些单一,这时我们引入了通配符。通配符之前匹配的操作符是LIKE函数。通配符的搜索时间相当长,所以一般尽量不要将其他搜索等效替代成通配符,即使要用的话,也应该尽量的写在搜索语句的后面而不是最开始。%通配符% 表示任何字符出现任意次数(0次,1次,n次)。比如下列表示的就是搜索jet开头的后面跟任意字符的行SELECT * FR...原创 2020-02-07 19:54:09 · 1315 阅读 · 0 评论 -
初识SQL
SQL基础操作安装及使用(MySQL8.0)数据库基础基础查询语句: 检索数据: 排序: 过滤安装及使用安装教程在网上随处可见,但请注意,MySQL已经更新至8.0版本,它的安装界面已经变了,并且过程十分多。但是很少有人讲安装后怎么用,8.0的workbench真的很好用,有点pycharm的意思,其实使用也非常简单。找到开始里面的MySQL文件夹,打开workbench(...原创 2020-02-06 21:18:32 · 107 阅读 · 0 评论