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

已经买了域名怎么做网站seo网站关键词排名优化公司

已经买了域名怎么做网站,seo网站关键词排名优化公司,网站建设需要考虑因素,洛阳做网站公司文章目录 概述语法IF的使用语法CASE WHEN 使用语法 行转列场景题目:重新格式话部门表题解 概述 我们在工作中遇到的很多场景需要将数据表中的一行的值转为一列的值,为实现这种场景可以通过IF函数或者CASE WHEN的方式来实现。恰好本人最近在刷题,就以碰到…

文章目录

  • 概述
  • 语法
    • IF的使用语法
    • CASE WHEN 使用语法
  • 行转列场景
    • 题目:重新格式话部门表
    • 题解

概述

我们在工作中遇到的很多场景需要将数据表中的一行的值转为一列的值,为实现这种场景可以通过IF函数或者CASE WHEN的方式来实现。恰好本人最近在刷题,就以碰到的LeetCode中的题 为例子来讲解如何使用IF和 CASE WHEN 实现行转列。

语法

IF的使用语法

IF是一个函数,有三个参数,第一个参数是判断条件,第二个参数是条件成立时的取值,第三个参数是条件不成立时的取值。

IF(条件, 值1, 值2 )

除此以外,IF还可以嵌套使用,在一些复杂的多分支场景中就可以通过嵌套的方式来实现。

IF(条件, 值1, IF( 条件, 值1, 值2 ) )

CASE WHEN 使用语法

CASE WHEN 条件  THEN 操作WHEN 条件  THEN 操作……ELSE 操作
END

和IF一样,CASE WHEN 也可以嵌套使用,但是得注意,每个CASE WHEN都需要保持完整。

CASE WHEN 条件  THEN 操作WHEN 条件  THEN 操作……ELSE CASE WHEN 子条件 THEN 操作ELSE 操作 END
END

行转列场景

题目:重新格式话部门表

表 Department:+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| id            | int     |
| revenue       | int     |
| month         | varchar |
+---------------+---------+
在 SQL 中,(id, month) 是表的联合主键。
这个表格有关于每个部门每月收入的信息。
月份(month)可以取下列值 ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]。重新格式化表格,使得 每个月 都有一个部门 id 列和一个收入列。以 任意顺序 返回结果表。结果格式如以下示例所示。示例 1:输入:
Department table:
+------+---------+-------+
| id   | revenue | month |
+------+---------+-------+
| 1    | 8000    | Jan   |
| 2    | 9000    | Jan   |
| 3    | 10000   | Feb   |
| 1    | 7000    | Feb   |
| 1    | 6000    | Mar   |
+------+---------+-------+
输出:
+------+-------------+-------------+-------------+-----+-------------+
| id   | Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue |
+------+-------------+-------------+-------------+-----+-------------+
| 1    | 8000        | 7000        | 6000        | ... | null        |
| 2    | 9000        | null        | null        | ... | null        |
| 3    | null        | 10000       | null        | ... | null        |
+------+-------------+-------------+-------------+-----+-------------+
解释:四月到十二月的收入为空。 
请注意,结果表共有 13 列(1 列用于部门 ID,其余 12 列用于各个月份)。

题解

  • 使用IF函数实现
select id,SUM(IF(month='Jan',revenue,NULL)) AS Jan_Revenue,SUM(IF(month='Feb',revenue,NULL)) AS Feb_Revenue,SUM(IF(month='Mar',revenue,NULL)) AS Mar_Revenue,SUM(IF(month='Apr',revenue,NULL)) AS Apr_Revenue,SUM(IF(month='May',revenue,NULL)) AS May_Revenue,SUM(IF(month='Jun',revenue,NULL)) AS Jun_Revenue,SUM(IF(month='Jul',revenue,NULL)) AS Jul_Revenue,SUM(IF(month='Aug',revenue,NULL)) AS Aug_Revenue,SUM(IF(month='Sep',revenue,NULL)) AS Sep_Revenue,SUM(IF(month='Oct',revenue,NULL)) AS Oct_Revenue,SUM(IF(month='Nov',revenue,NULL)) AS Nov_Revenue,SUM(IF(month='Dec',revenue,NULL)) AS Dec_Revenue
from Department
group by id;
  • 使用CASE WHEN实现
select id,SUM(CASE WHEN month='Jan' THEN revenue ELSE NULL END) AS Jan_Revenue,SUM(CASE WHEN month='Feb' THEN revenue ELSE NULL END) AS Feb_Revenue,SUM(CASE WHEN month='Mar' THEN revenue ELSE NULL END) AS Mar_Revenue,SUM(CASE WHEN month='Apr' THEN revenue ELSE NULL END) AS Apr_Revenue,SUM(CASE WHEN month='May' THEN revenue ELSE NULL END) AS May_Revenue,SUM(CASE WHEN month='Jun' THEN revenue ELSE NULL END) AS Jun_Revenue,SUM(CASE WHEN month='Jul' THEN revenue ELSE NULL END) AS Jul_Revenue,SUM(CASE WHEN month='Aug' THEN revenue ELSE NULL END) AS Aug_Revenue,SUM(CASE WHEN month='Sep' THEN revenue ELSE NULL END) AS Sep_Revenue,SUM(CASE WHEN month='Oct' THEN revenue ELSE NULL END) AS Oct_Revenue,SUM(CASE WHEN month='Nov' THEN revenue ELSE NULL END) AS Nov_Revenue,SUM(CASE WHEN month='Dec' THEN revenue ELSE NULL END) AS Dec_Revenue
from Department
group by id;

由以上两种实现方式可以看出,IF 比 CASE WHEN的实现方式看起来更加简洁,所以如果可以使用IF函数来实现的,都可以采用IF函数来实现,避免代码的臃肿。

http://www.dtcms.com/wzjs/108888.html

相关文章:

  • 郑州网站推广价格百度关键词seo
  • 做saas平台网站seo排名资源
  • 昆明企业公司网站建设大数据平台
  • 中国建设银行客户端下载官方网站市场调研流程
  • 强生公司营销网站为什么要这样做天津百度整站优化服务
  • 我做网站了 圆通搜索引擎营销ppt
  • 有哪些育儿类网站做的比较好自动点击关键词软件
  • 一个做flash的网站最近有新病毒出现吗
  • 江西萍乡做网站公司今日头条关键词工具
  • 游戏加盟项目湖南seo技术培训
  • 国外排版网站免费数据查询网站
  • 兔宝宝全屋定制衣柜官网班级优化大师怎么加入班级
  • 阳江人才招聘网阿亮seo技术
  • 做日本电商网站青岛百度快速优化排名
  • 企业网站哪家好seo推广优势
  • 各类网站排行今日头条热搜
  • 南京网站建设价格平台推广方式
  • 群晖做网站服务器会卡吗百度官网认证多少钱
  • 同性恋色做视频网站总裁班课程培训
  • 公司logo设计大全 图片欣赏济源新站seo关键词排名推广
  • 网站设计就业培训学校排名重庆网站到首页排名
  • 国外b2b网站域名北京朝阳区
  • 河北注册公司流程和费用怎样给自己的网站做优化
  • 英文版网站怎么做成都网络推广运营公司
  • 湖南做旅游网站哪家最好房产网站建设
  • 建设网站策划书seo优化专员工作内容
  • 鲁东大学课程网站建设如何删除广州疫情防控措施
  • 果酱wordpress长沙百度快速优化
  • 常州建设局网站江苏seo平台
  • 网站管理文档怎么写百度推广开户联系方式