SQL相关
华山栈道
码出机会
展开
-
自用复习:
-- 28. 计算所有图书至今为止发布的时长,精确到年(四舍五入保留1位小数,一年按照365天计算),列出图书名称、作者、发布时长。select b.bookname,b.author,round(datediff(curdate(),b.publishdate)/365.0)from bookinfo b-- 29. 查询isbn号码为“75”开头的所有图书中,发布时长超过2年的图书信息(按照一年365天计算)。select b.*,round(datediff(curdate(),b.publi原创 2021-05-08 13:20:36 · 1344 阅读 · 0 评论 -
sql中dense_RANK() 和 RANK()窗口函数
题目:刷题通过的题目排名SQL语句:SELECT a.*,dense_RANK() OVER(ORDER BY a.number DESC) AS t_tank FROM passing_number a ORDER BY t_tank,a.id难点一:dense_RANK() 和 RANK() 之间的差异。dens_RANK()输出结果,1,2,2,3,3RANK()输出结果,1,2,2,4,4难点二:order by语句中出现的列的顺序,将决定最终排序的顺序。因为,最终排序是按照原创 2021-02-23 16:01:14 · 1039 阅读 · 0 评论 -
SQL求累计和/汇总 窗口函数
求累计和/汇总 语句结构:SUM( 列名 )OVER( ORDER BY 列名)题目:按照salary的累计和running_totalSELECT emp_no, salary, SUM(salary)over(ORDER BY emp_no)FROM salariesWHERE to_date = '9999-01-01';扩展学习:https://zhuanlan.zhihu.com/p/92654574...原创 2021-02-23 14:47:07 · 878 阅读 · 0 评论 -
SQL中的聚合函数group_concat
用到SQLite的聚合函数group_concat(X,Y),其中X是要连接的字段,Y是连接时用的符号,可省略,默认为逗号。此函数必须与 GROUP BY 配合使用。题目:按照dept_no进行汇总此题以 dept_no 作为分组,将每个分组中不同的emp_no用逗号连接起来(即可省略Y)。SELECT dept_no,group_concat(emp_no,',') employeesFROM dept_emp GROUP BY dept_no或:默认为逗号SELECT dept_no原创 2021-02-23 11:24:12 · 775 阅读 · 0 评论 -
sql中limit和offset用法
limit和offset用法mysql里分页一般用limit来实现,select* from test LIMIT 3;当 limit后面跟一个参数的时候,该参数表示要取的数据的数量。 表示直接取前三条数据,类似sqlserver里的top语法。以下的两种方式均表示取2,3,4三条条数据:1.select* from test LIMIT 1,3;当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量。2.select * from test LIMIT原创 2021-02-22 16:11:30 · 3349 阅读 · 0 评论 -
SQL中的mod()方法
Mod(a,b) 在sql中的意思是 a / b 的余数基础用法:如果id需要是偶数或者奇数时就可以使用mod。mod(id,2)=1 是指id是奇数。mod(id,2)=0 是指id是偶数。原创 2021-01-06 09:35:20 · 2315 阅读 · 1 评论 -
SQL指令— trim()
SQL指令— TRIM函数 SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称: MySQL: TRIM(), RTRIM(), LTRIM() Oracle: RTRIM(), LTRIM() SQL Server: RTRIM(), LTRIM() 各种 trim 函数的语法如下: TRIM([[...转载 2020-12-31 14:16:54 · 1539 阅读 · 0 评论