刷了一下力扣,发现有很多的函数是自己不清楚的,用了这些函数是比较容易得出结果的,不用自己费心去实现一些奇怪的东西

1.最大最小值

链接:https://leetcode.cn/problems/number-of-calls-between-two-persons/

大概就是编写 SQL 语句,查询每一对用户 (person1, person2) 之间的通话次数和通话总时长,其中 person1 < person2,且用户2和用户1的通话也算在用户1和用户2的通话

自己的方法超级奇怪

SELECT T.from_id_1 AS person1,T.to_id_1 AS person2,COUNT(1) call_count,SUM(T.duration) total_duration
FROM
(SELECT from_id AS from_id_1,to_id AS to_id_1,duration FROM Calls WHERE from_id < to_id
UNION ALL
SELECT to_id AS from_id_1,from_id AS to_id_1,duration FROM Calls WHERE from_id > to_id) T
GROUP BY T.from_id_1,T.to_id_1

然后发现有个题解使用了least和greatest函数

大概就是

greatest/least可以接收一个或多个字面值/字段列,返回其中的最大值/最小值。

greatest/least返回的数据类型,参照第一个参数的数据类型

所以瞬间就简单了很多

select least(a.from_id, a.to_id) person1,
greatest(a.from_id, a.to_id) person2,
COUNT(1) call_count,
SUM(a.duration) total_duration
from Calls a
group by least(a.from_id, a.to_id), greatest(a.from_id, a.to_id)

2.求平均值

可以使用ROUND

Round函数用法:

截取数字

格式如下:ROUND(number[,decimals])

其中:number 待做截取处理的数值

decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和trunc函数不同,对截取的数字要四舍五入。

实例

round(sum(units*price)/sum(units),2)

【笔记】greatest/least函数&Round函数的更多相关文章

  1. Sass函数:数字函数-round()函数

    round() 函数可以将一个数四舍五入为一个最接近的整数: >> round(12.3) 12 >> round(12.5) 13 >> round(1.4999 ...

  2. Python函数-round() 函数

    round( x [, n] )功能: round() 方法返回浮点数x的四舍五入值. x-数值表达式.n-数值表达式.返回浮点数x的四舍五入值. 实例: #!/usr/bin/python prin ...

  3. SQL ROUND() 函数

    ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语法 SELECT ROUND(column_name,decimals) FROM table_n ...

  4. 37.ROUND() 函数

    ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语法 SELECT ROUND(column_name,decimals) FROM table_n ...

  5. 松软科技web课堂:SQLServer之ROUND() 函数

    ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语法 SELECT ROUND(column_name,decimals) FROM table_n ...

  6. ROUND() 函数

    ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语法 SELECT ROUND(column_name,decimals) FROM table_n ...

  7. SQL-W3School-函数:SQL ROUND() 函数

    ylbtech-SQL-W3School-函数:SQL ROUND() 函数 1.返回顶部 1. ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语 ...

  8. Sass函数--数字函数

    数字函数简介 Sass 中的数字函数提要针对数字方面提供一系列的函数功能: percentage($value):将一个不带单位的数转换成百分比值: round($value):将数值四舍五入,转换成 ...

  9. hive学习笔记之七:内置函数

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. SQL笔记-第五章,函数

    一.数学函数 功能 函数名  用法 绝对值  ABS()    指数  POWER() POWER(FWeight,-0.5)  平方根  SQRT()    求随机数  RAND()    舍入到最 ...

随机推荐

  1. idea的使用操作

    怎么让idea中的方法之间显示横线 点击setting 选择Editor 选择Appearance 选择Show method separators 效果: 如果设置idea的标签页可以多行显示 点击 ...

  2. jquery之获取某个元素上的事件

    jquery的给元素绑定的事件可以用data方法取出来 通过$(element).data("events")来获取 // 比如给一个button绑定两个click事件 $(&qu ...

  3. (模板)Manacher算法:线性时间求字符串内回文子串的数量

    已通过leetcode647:https://leetcode-cn.com/problems/palindromic-substrings/ void get_d(vector<int> ...

  4. Android USB开发1—开发环境搭建

    通过Genymotion 与 VirtualBox 可以实现将电脑中的USB设备转接到Android模拟器中进行通信. Genymotion 配置 首先从https://www.genymotion. ...

  5. 干货分享 | 3个Zbrush实用减面工具分享

    一.使用Sculptris Pro Sculptris Pro是zbrush中的一个功能按钮,点击此工具按钮,同时将笔刷转换至standard笔刷,即可减去需要平滑的面. 点击开启Sculptris ...

  6. 8 JavaScript函数

    8 JavaScript函数 在JS中声明函数和python差不多. 也要有一个关键字顶在前面. python是def, 到了JS里换成了function, 只不过在JS中没有像python那么死板, ...

  7. #排列组合,dp#AT2000 [AGC002F] Leftmost Ball

    洛谷题目传送门 ATCODER传送门 分析 设\(dp[i][j]\)表示放完\(i\)个白球和\(j\)种有颜色的球的情况 首先\(dp[i][j]\)显然可以从\(dp[i-1][j]\)转移, ...

  8. Lustre架构介绍的阅读笔记-基础知识

    本文是在阅读Introduction to Lustre* Architecture的如下章节时的笔记. Lustre – Fast, Scalable Storage for HPC Lustre ...

  9. Jetty的http2模块

    启用http2模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=http2 命令的输出,如下: INFO : http2 initial ...

  10. OpenHarmony Meetup 2023 广州站圆满举办,城市巡回全面启航

      "OpenHarmony正当时--技术开源"OpenHarmony Meetup 2023城市巡回活动,旨在通过meetup线下交流形式,解读OpenHarmony作为下一代智 ...