文章分类 -  MySQL

JDBC和ODBC
摘要:JDBC JDBC是Java Database Connectivity的缩写,它是一组用于Java编程语言中连接和操作数据库的API。JDBC API定义了一组标准接口,使Java应用程序能够与任何关系型数据库进行交互,如Oracle、MySQL、PostgreSQL、Microsoft SQL 阅读全文
posted @ 2023-05-03 19:42 白的枫叶 阅读(11) 评论(0) 推荐(0)
LeetCode中有难度的题目
摘要:2388. 将表中的空值更改为前一个值 阅读全文
posted @ 2023-04-20 09:13 白的枫叶 阅读(3) 评论(0) 推荐(0)
SQL--2494合并在一个大厅重叠的活动
摘要:对每个hall_id单独做计算,计算顺序依据start_day升序(体现在窗口函数OVER部分中);作辅助列,对每一行,计算截至该行的最大的end_day时间值,记作max_end_day_so_far;检查当前行start_day是否小于上一行的max_end_day_so_far,(注意到我们的 阅读全文
posted @ 2023-04-16 10:07 白的枫叶 阅读(14) 评论(0) 推荐(0)
做题中遇到的部分函数
摘要:INSTR mysql的内置函数instr(filed,str),作用是返回str子字符串在filed字符串的第一次出现的位置。当instr(filed,str)=0时,表示子符串str不存在于字符串filed中,因此可以用来实现mysql中的模糊查询,与like用法类似。如下: instr(fil 阅读全文
posted @ 2023-04-14 10:17 白的枫叶 阅读(9) 评论(0) 推荐(0)
腾讯数分题目
摘要:题目很简单: 已知表名:user_login,表中有两个字段:user_id,login_time 问:用户最大连续登录天数。 整个表先理一下思路: user_id log_time 224332 2022/12/12 224332 2022/12/13 224332 2022/12/22 2243 阅读全文
posted @ 2023-04-14 00:53 白的枫叶 阅读(17) 评论(0) 推荐(0)
SQL--正则表达式
摘要:查询带有%的元素 SELECT ordername FROM salesorderheader s WHERE ordername LIKE '%\%%' SELECT ordername FROM salesorderheader s WHERE regexp_instr(ordername,'% 阅读全文
posted @ 2023-04-09 11:35 白的枫叶 阅读(6) 评论(0) 推荐(0)
SQL--一道关于窗口函数,max的列转行的题目
摘要:添加辅助列cur_rank非常重要,这是分类的依据,此外null值和非空值进行比较时,null认为是最小的 select max(case when continent = 'America' then name else null end) America, max(case when conti 阅读全文
posted @ 2023-02-24 16:02 白的枫叶 阅读(6) 评论(0) 推荐(0)
SQL-- between * and * 在不同数据类型下的差异
摘要:背景 hive/mysql下使用sql中的between * and * 在不同数据类型下不一样。1.int类型、float类型、string类型是包含头尾的。2.时间类型分情况 当数据库字段中存储的是yyyy-MM-dd格式,即date类型:用between and查询:参数yyyy-MM-dd格 阅读全文
posted @ 2023-02-23 20:22 白的枫叶 阅读(143) 评论(0) 推荐(0)
窗口函数
摘要:一. 窗口函数的作用 窗口函数(Window Function),又被叫做分析函数(Analytics Function),通常在需要对数据进行分组汇总计算时使用,因此与聚集函数有一定的相似性。但与聚集函数不同的是,聚集函数通过对数据进行分组,仅能够输出分组汇总结果,而原始数据则无法展现在结果中。而 阅读全文
posted @ 2023-02-22 22:50 白的枫叶 阅读(78) 评论(0) 推荐(0)
SQL--关于null的函数
摘要:在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。 1、IF()函数的使用 IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。 1 2 SELEC 阅读全文
posted @ 2023-02-22 16:28 白的枫叶 阅读(32) 评论(0) 推荐(0)
SQL--true、false、unknown 和 null
摘要:什么是谓词? SQL 的保留字中,有很多都被归为谓词一类。例如,“=、<、>”等比较谓词,以及 BETWEEN、LIKE、IN、IS NULL 等。 谓词是一种特殊的函数,返回值是真值。前面提到的每个谓词,返回值都是 true、false 或者 unknown(一般的谓词逻辑里没有unknown,但 阅读全文
posted @ 2023-02-22 14:15 白的枫叶 阅读(652) 评论(0) 推荐(0)
count,sum的条件为布尔值
摘要:查询回答率最高的问题 正确答案1: SELECT question_id AS survey_log FROM surveyLog GROUP BY question_id ORDER BY count(CASE WHEN ACTION = 'answer' THEN 1 END )/ count( 阅读全文
posted @ 2023-02-22 14:13 白的枫叶 阅读(21) 评论(0) 推荐(0)
取中位数
摘要:中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作 阅读全文
posted @ 2023-02-21 10:26 白的枫叶 阅读(22) 评论(0) 推荐(0)
排名问题
摘要:思路1:单表查询由于本题不存在分组排序,只需返回全局第N高的一个,所以自然想到的想法是用order by排序加limit限制得到。需要注意两个细节: 同薪同名且不跳级的问题,解决办法是用group by按薪水分组后再order by排名第N高意味着要跳过N-1个薪水,由于无法直接用limit N-1 阅读全文
posted @ 2023-02-20 10:07 白的枫叶 阅读(32) 评论(0) 推荐(0)
limit和offset用法
摘要:--limit后面只有一个参数的时候,表示希望取得数据的个数 select * from table_a limit 3; --以下的两种方式均表示取2,3,4三条数据 select * from table_a limit 1, 3; --当limit后面跟两个参数的时候,第一个数表示要跳过的数量 阅读全文
posted @ 2023-02-19 19:43 白的枫叶 阅读(27) 评论(0) 推荐(0)
行转列、列转行
摘要:1.Mysql 列转行 SELECT product_id, 'store1' store, store1 price FROM products WHERE store1 IS NOT NULL UNION SELECT product_id, 'store2' store, store2 pri 阅读全文
posted @ 2023-02-19 15:12 白的枫叶 阅读(0) 评论(0) 推荐(0)
group concat函数
摘要:编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。每个日期的销售产品名称应按词典序排列。返回按sell_date排序的结果表。 原始表格: activities sell_date product 2020-05-30 Headphone 2020-06-01 Pencil 202 阅读全文
posted @ 2023-02-18 21:12 白的枫叶 阅读(0) 评论(0) 推荐(0)