首页 > 其他分享 >【笔记】greatest/least函数&Round函数

【笔记】greatest/least函数&Round函数

时间:2022-08-20 22:34:16浏览次数:71  
标签:函数 least Round person2 greatest duration id

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

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)

标签:函数,least,Round,person2,greatest,duration,id
From: https://www.cnblogs.com/jokingremarks/p/16608938.html

相关文章

  • 视图、触发器、存储过程、事务(掌握)、内置函数、流程控制、循环结构、索引与慢查询优
    视图SQL语句执行的结果是一张虚拟表,我们可以基于这张表做其他的操作,如果这张虚拟表需要频繁使用,为了方便可以将这张虚拟表保存起来,保存之后就称之为视图(view)。视图的本......
  • 函数式编程-Lambda的延迟执行
    函数式编程在兼顾面向对象特性的基础上,Java语言通过Lambda表达式与方法引用等,为开发者打开函数式编程的大门,下面我们做一个初探Lambda的延迟执行 有些场景的代码执行后......
  • 函数式接口概念和使用
    函数式接口概念函数式接口在Java中是指:有且仅有一个抽象方法的接口函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可......
  • 原型链、继承、构造函数的构建
    构造函数构建es6的形式classclassPerson{ constructor(){//构造器 this.name='jack' }}es3的形式functionfunctionPerson(){ this.name='jack'}使......
  • MySQL JSON函数文档搬运
    本文搬运了MySQL对JSON的支持相关的函数/*自MySQL5.7版本以后,加入了JSON字段类型支持,并提供一系列函数实测字段类型设置为varchar,只要字段值为合法json,MYSQLJSO......
  • 使用JS 递归函数 输出 斐波那契数列 (return 返回值使用时的注意点 )
      functionaee(i){  if(i==0){    return0;  }  if(i==1){    return1;  }  if(i>=2){ ***//......
  • 5个必知的高级SQL函数
    5个必知的高级SQL函数SQL是关系数据库管理的标准语言,用于与数据库通信。它广泛用于存储、检索和操作数据库中存储的数据。SQL不区分大小写。用户可以访问存储在关系数据......
  • MYSQL-->函数与约束条件
    函数用法函数最常用的地方就是查询语句处select函数(字段)from表名;select字段列表from表名groupby分组字段having函数(字段);字符串函数(字符串要用引......
  • 4.函数的默认参数
    //2022年8月20日09:05:03#include<iostream>usingnamespacestd;intmyFunc(inta,intb=0)//intb=0;这就是函数的默认参数,不一定是0{returna+b;}......
  • Codeforces Round #815 (Div. 2) 题解
    CF1720A.BurenkaPlayswithFractions给出两个分数$\dfrac{a}{b}$和\(\dfrac{c}{d}\),你每次操作能够选择其中一个分数的分子或分母,将其乘上任意一个整数(当然不能......