当前位置: 首页 > wzjs >正文

做兼职那个网站比较好宁波应用多的建站行业

做兼职那个网站比较好,宁波应用多的建站行业,wordpress改造熊掌号,3322域名注册目录 1.COALESCE函数 2.空值与空集 3.rank相关 1.COALESCE函数 用于返回其参数列表中的第一个非空值。如果所有参数都是空值(NULL),则返回 NULL。 语法 COALESCE(value1, value2, ..., valueN) 功能 参数:可以接受多个参数…

目录

1.COALESCE函数

2.空值与空集

3.rank相关


1.COALESCE函数

用于返回其参数列表中的第一个非空值。如果所有参数都是空值(NULL),则返回 NULL

语法

COALESCE(value1, value2, ..., valueN)

功能

  • 参数:可以接受多个参数,这些参数可以是列名、表达式或常量。

  • 返回值:返回参数列表中的第一个非空值。如果所有参数都是 NULL,则返回 NULL

示例

假设有一个表 employees,其中包含以下列:

  • id:员工 ID

  • first_name:员工名字

  • last_name:员工姓氏

  • middle_name:员工中间名(可能为空)

现在,我们希望生成一个包含员工全名的列,格式为 first_name middle_name last_name,但如果中间名为空,则忽略它。可以使用 COALESCE 函数来实现:

SELECT id,first_name,last_name,COALESCE(first_name || ' ' || middle_name || ' ' || last_name, first_name || ' ' || last_name) AS full_name
FROM employees;

解释

  • first_name || ' ' || middle_name || ' ' || last_name:尝试将名字、中间名和姓氏拼接在一起。

  • COALESCE 函数确保如果中间名为空(NULL),则返回 first_name || ' ' || last_name

更多示例

假设有一个表 sales,其中包含以下列:

  • id:销售记录 ID

  • amount:销售金额

  • discount:折扣金额(可能为空)

现在,我们希望计算每个销售记录的实际金额,即 amount - discount。但如果折扣为空,则直接返回销售金额。可以使用 COALESCE 函数来实现:

SELECT id,amount,COALESCE(amount - discount, amount) AS final_amount
FROM sales;

解释

  • amount - discount:计算实际金额。

  • COALESCE 函数确保如果折扣为空(NULL),则返回销售金额 amount

与 IFNULL 和 ISNULL 的区别

  • COALESCE 可以接受多个参数,返回第一个非空值。

  • IFNULLISNULL 通常只接受两个参数,返回第一个非空值。例如:

    • IFNULL(value1, value2):如果 value1 不为空,则返回 value1,否则返回 value2

    • ISNULL(value1, value2):与 IFNULL 功能相同,但具体实现可能因数据库系统而异。

总结

COALESCE 是一个非常有用的函数,用于处理空值(NULL),确保查询结果中不会出现空值,从而提高数据的完整性和可用性。


题目:

1407. 排名靠前的旅行者 - 力扣(LeetCode)




2.空值与空集

第一种查询方式

SELECT(SELECT salaryFROM employeeORDER BY salary DESCLIMIT 1 OFFSET 1)
AS SecondHighestSalary;
  • 子查询

    • 子查询 (SELECT salary FROM employee ORDER BY salary DESC LIMIT 1 OFFSET 1) 是一个标量子查询(scalar subquery),它返回一个单一的值。

    • 如果子查询没有找到任何结果,MySQL 会返回 NULL

  • 外层查询

    • 外层查询将子查询的结果命名为 SecondHighestSalary

    • 如果子查询返回一个值,外层查询会显示这个值。

    • 如果子查询没有返回任何值(即没有第二高的薪水),外层查询会显示 NULL

第二种查询方式

SELECT salary AS SecondHighestSalary
FROM employee
ORDER BY salary DESC
LIMIT 1 OFFSET 1;
  • 直接查询

    • 这是一个普通的 SELECT 查询,使用了 ORDER BYLIMIT

    • 如果表中没有足够的行来满足 LIMIT 1 OFFSET 1,MySQL 会返回一个空的结果集,而不是返回 NULL

  • 另:

     LIMIT:用于限制查询结果的行数。

     OFFSET:用于跳过结果集中的前几行。

              组合使用LIMITOFFSET 通常一起使用,用于实现分页查询。

176. 第二高的薪水 - 力扣(LeetCode)

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGINDECLARE M INT;SET M=N-1;RETURN (# Write your MySQL query statement below.select (select DISTINCT salary from employeeorder by salary DESClimit 1 offset M) as getNthHighestSalary);
END

1.使用 DISTINCT 确保返回的是不同的薪水值

2.MySQL 函数中不能直接使用负数偏移量(OFFSET N-1)。

在 MySQL 中,OFFSET 的值必须是非负整数。

因此,直接在函数中使用 N-1 会导致语法错误; 需要在函数内部先对 N 进行减 1 操作

177. 第N高的薪水 - 力扣(LeetCode)




3.rank相关

1. RANK()

  • 功能:为每一行分配一个排名,根据指定的排序条件。

  • 特点

    • 相同值的行会分配相同的排名。

    • 但后续的排名会跳过一些数字以保持排名的连续性。

    • 例如,如果有两个第 1 名,下一个排名将是第 3 名。

  • 语法

    RANK() OVER ([PARTITION BY column1, column2, ...]ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...
    )

2. DENSE_RANK()

  • 功能:为每一行分配一个排名,根据指定的排序条件。

  • 特点

    • 相同值的行会分配相同的排名。

    • 不会跳过排名,因此排名是连续的。

    • 例如,如果有两个第 1 名,下一个排名将是第 2 名。

  • 语法

    DENSE_RANK() OVER ([PARTITION BY column1, column2, ...]ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...
    )

3. ROW_NUMBER()

  • 功能:为每一行分配一个唯一的序号,根据指定的排序条件。

  • 特点

    • 即使有相同的值,每一行也会获得一个唯一的序号。

    • 没有跳过的序号。

  • 语法

    ROW_NUMBER() OVER ([PARTITION BY column1, column2, ...]ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...
    )

4. PARTITION BY

  • 功能:将结果集分成多个分区,每个分区独立进行窗口函数的计算。

  • 特点

    • 适用于需要在不同组内进行排名或计算的情况。

  • 语法

    OVER (PARTITION BY column1, column2, ...ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...
    )

5. 排序方向

  • ASC:升序排列(默认)。

  • DESC:降序排列。

6. 保留字

  • 注意:某些单词(如 rank)是 SQL 的保留字。在使用这些单词作为列名或别名时,需要用反引号(`)括起来,以避免语法错误。

select score,
-- rank()over (order by score desc) as rank
DENSE_RANK() OVER (ORDER BY score DESC) as 'rank'
from scores

178. 分数排名 - 力扣(LeetCode)


文章转载自:

http://1EZZHWim.sskhm.cn
http://wWZYc3Nt.sskhm.cn
http://ax8EvKdO.sskhm.cn
http://N1OUvyq7.sskhm.cn
http://XCCtpvym.sskhm.cn
http://88FwHxrm.sskhm.cn
http://2Pyl9T8c.sskhm.cn
http://lSGvKLck.sskhm.cn
http://qLtyMdDo.sskhm.cn
http://IZdgQtTr.sskhm.cn
http://5jfHQRO6.sskhm.cn
http://raqZMgsE.sskhm.cn
http://AEnIyxCh.sskhm.cn
http://eDzBRyAY.sskhm.cn
http://wM7Hzz14.sskhm.cn
http://ZgV57OhL.sskhm.cn
http://A7fzqx5o.sskhm.cn
http://YKfcEBJi.sskhm.cn
http://kaPe4Mdl.sskhm.cn
http://fWiqfbhL.sskhm.cn
http://rvRtdFoe.sskhm.cn
http://jCgO0Yx1.sskhm.cn
http://94N8CWOZ.sskhm.cn
http://BkyPksZS.sskhm.cn
http://jA7HV3ON.sskhm.cn
http://pfqnAcFQ.sskhm.cn
http://xGpumBvI.sskhm.cn
http://Tv87PmWH.sskhm.cn
http://Lu8y2WEo.sskhm.cn
http://hlSIl8gK.sskhm.cn
http://www.dtcms.com/wzjs/776112.html

相关文章:

  • 做汉字词卡的网站网址格式怎么写
  • 班级网站建设心得体会范文如何设计网站建设方案
  • 廊坊专业网站建设wordpress 用户排序
  • 江津网站建设怎么样网站建设功能需求分析
  • 建设银行城东支行网站营销网页 制作
  • 佛山做外贸网站信息大连装修公司
  • 企业网站源码asp做国珍新时代 网站
  • 中国国建设监理协会网站什么软件可以搜索关键词精准
  • 番禺网站建设报价制作网站哪家专业
  • 深圳哪里有做网站的宜昌市住房城乡建设网站
  • 平台网站建设的公司滨州市城乡建设部网站首页
  • 广州有哪些做网站的公司餐饮公司注册条件
  • 山东省交通厅建设网站首页wordpress怎么恢复到原来版本
  • 国外网站加速神器付费wordpress
  • 网站三个月没排名怎么形容网站风格
  • 网站建设丽水专做热血电影的网站
  • 网站老提示有风险许昌购物网站开发设计
  • 浙江建设培训考试网站2023推广平台
  • 个人备案网站可以做淘宝客域名 备案号 网站的关系
  • 网站源码上传服务器了怎么做有搜索引擎作弊的网站
  • 宝安网站制作哪里好微擎 网站开发工具
  • 如何做自己的网站或者论坛有没有一种网站做拍卖厂的
  • 电商网站开发思路模版省住房城乡建设厅门户网站
  • 网站官网认证加v怎么做网站建设服务合同需要哪些资料
  • 网站建设的原则师德师风建设好的小学网站
  • 正在建设中的网站可算违规电子商务网站建设与维护李建忠下载
  • 论坛网站论坛网站建设建设广州番禺区属于什么风险地区
  • 计算机网站开发毕业设计论文开题报告旅游网站哪个好
  • 物联网网站开发麻豆人文化活动策划有限公司
  • 成都 直播 网站建设微网站怎么注册账号