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

网站建设应考虑哪些方面的问题下载安装

网站建设应考虑哪些方面的问题,下载安装,baidu share wordpress,青浦苏州网站建设CASE 表达式是一种通用的条件表达式,类似于其他编程语言中的if/else语句。 窗口函数类似于group by,但是不会改变记录行数,能扫描所有行,能对每一行执行聚合计算或其他复杂计算,并把结果填到每一行中。 1 CASE 表达式…

 CASE 表达式是一种通用的条件表达式,类似于其他编程语言中的if/else语句。

窗口函数类似于group by,但是不会改变记录行数,能扫描所有行,能对每一行执行聚合计算或其他复杂计算,并把结果填到每一行中。

1 CASE 表达式

CASE 表达式有简单CASE表达式和搜索CASE表达式两种写法:

-- 简单 CASE 表达式
CASE `status`WHEN 1 THEN '正常'WHEN 0 THEN '审核中'ELSE '锁定'
END-- 搜索CASE表达式
CASE WHEN `status` = 1 THEN '正常'WHEN `status` = 0 THEN '审核中'ELSE '锁定'
END  

  1.1 在SELECT 与 GROUP BY 中同时使用

图 城市人口信息表t_city_info

需求:根据上表,统计对应省份的人口数。

图 统计出的对应人口数

SELECT
CASE city 
WHEN '九江' THEN '江西'
WHEN '赣州' THEN '江西' 
WHEN '南昌' THEN '江西'
WHEN '深圳' THEN '广东'
WHEN '广州' THEN '广东'
WHEN '韶关' THEN '广东'
WHEN '惠州' THEN '广东'
ELSE '其他' 
END AS '省份',
SUM(population) AS '人口'
FROM t_city_info
GROUP BY
(
CASE city 
WHEN '九江' THEN '江西'
WHEN '赣州' THEN '江西' 
WHEN '南昌' THEN '江西'
WHEN '深圳' THEN '广东'
WHEN '广州' THEN '广东'
WHEN '韶关' THEN '广东'
WHEN '惠州' THEN '广东'
ELSE '其他' 
END 
)

1.2 在聚合函数内使用CASE表达式

图 表城市男女人口数量表t_city_info,1 表示男性 0 表示女性

 需求,根据上表统计出各市男女数量,输出格式如下:

图 各市男女数量

SELECT city as '城市',
SUM(
CASE sex 
WHEN 1 THEN population
ELSE 0
END
) AS '男性',
SUM(
CASE sex 
WHEN 0 THEN population
ELSE 0
END
) AS '女性'
FROM t_city_info
GROUP BY city

1.3 在update里使用CASE

图 员工薪资信息表t_emplpyee及薪资调整

需求:工资25000以上的降薪10%,10000以下的涨薪2000。

UPDATE t_employee 
SET salary = 
CASE WHEN salary > 25000 THEN salary * 0.9WHEN salary < 10000 THEN salary + 2000ELSE salary 
END

1.4 在CASE里使用嵌套子查询

图 课程信息表t_course_info 与 开课情况t_course_open表

需求:统计各课程每月开课情况。

图 各课程每月开课情况

SELECT 
`name` AS '课程',
(CASE WHEN EXISTS  (SELECT `course_id`FROM t_course_openWHERE `month` = '202408'	AND course_id = id ) THEN 'YES'ELSE 'no'END	 
) AS '8月',
(CASE WHEN EXISTS(SELECT `course_id`FROM t_course_openWHERE `month` = '202409'	AND course_id = id ) THEN 'YES'ELSE 'no'END	 
) AS '9月',
(CASE WHEN EXISTS (SELECT `course_id`FROM t_course_openWHERE `month` = '202410'	AND course_id = id ) THEN 'YES'ELSE 'no'END	 
) AS '10月'
FROM t_course_info

1.5 在CASE中使用聚合函数

图 学生加入俱乐部情况t_student_club 表

学生加入俱乐部情况:1)1个学生可以加入多个俱乐部;2)如果加入了多个俱乐部,Y标志主俱乐部,只加入一个俱乐部标注N。

需求:1)列出学生参加的主俱乐部。2)如果学生只假如一个俱乐部,则也为主俱乐部。

SELECT student_id AS '学生',
CASE WHEN COUNT(*) = 1 THEN club_nameELSE MAX(CASE WHEN main_flg = 'Y' THEN club_name ELSE NULL END) 
END AS '主俱乐部'
FROM t_student_club
GROUP BY student_id

2 窗口函数

窗口函数和聚合函数共同点在于它们也是对一组数据进行分析。但是窗口函数不是将一组数据汇总为单个结果,而是针对查询中的每一行数据,基于和它相关的一组数据计算出一个结果。语法如下:

window_fun (expr) over (

     partition by …

order by …

frame_clause

)

PARTITION BY 子句分隔记录集合,类似于group by

ORDER BY 子句对记录排序

frame_clause 串口大小,帧子句,定义以当前记录为中心的子集。

2.1 匿名窗口与命名窗口

图 服务器每日请求量t_service_load 表

需求:列出服务器每日请求量、前两日请求评价数。

SELECT `date`,`load`,
AVG(`load`) OVER (ORDER BY `date`ROWS BETWEEN 2 PRECEDING AND 1 PRECEDING
) AS avgLoad
FROM t_service_load;

2.1.1 命名窗口

SELECT `date`,`load`,
AVG(`load`) OVER loadW AS avgLoad,
SUM(`load`) OVER loadW AS sumLoad
FROM t_service_loadWINDOW loadW AS (ORDER BY `date`ROWS BETWEEN 2 PRECEDING AND 1 PRECEDING
)

2.2 帧子句

ROWS

按行设置移动单位。

RANGE

按列值设置移动单位。使用ORDER BY 子句来指定基准列。

n PRECEDING

仅向前(行号较小的方向)移动n行。

n FOLLOWING

仅向后移动n行。

UNBOUNDED PRECEDING

一直移动到最前面。

UNBOUNDED FOLLOWING

一直移动到最后面。

CURRENT ROW

当前行。

表 帧子句中可以使用的选项

需求:统计上表中,两日前的请求量。

SELECT `date`,`load`,
MAX(`load`) OVER (ORDER BY `date` ASC RANGE BETWEEN INTERVAL 2 DAY PRECEDING AND INTERVAL 2 DAY PRECEDING
) AS preLoad
FROM t_service_load;
http://www.zhongyajixie.com/news/19014.html

相关文章:

  • 程序员代做网站违法电商培训大概多少学费
  • 北京做网站的公司排行知名seo公司
  • 企业网站排名优化哪家好在线建站网页制作网站建设平台
  • 重庆市建设岗位培训网站杭州seo公司服务
  • 案例展示网站营销软件
  • 个人做网络推广哪个网站好seo蜘蛛池
  • 济南怎样做网站推广中国楼市最新消息
  • 自己做网站代码做网站需要哪些技术
  • 隆尧网站制作识图
  • 山东卓创网络网站建设软文写作什么意思
  • 深圳电子商城网站建设搜索广告是什么
  • 百度收录哪个网站多武汉大学人民医院洪山院区
  • 学做网站论坛vip账号全国疫情最新数据
  • wordpress重定向代码湖北seo
  • 做网站建设费用如何用html制作网页
  • 杭州网站制百度手机助手安卓版下载
  • 深圳疫情通报最新消息深圳防疫措施优化
  • 网站运营适合什么样的人做网站底部友情链接代码
  • icp备案是什么怎么卸载windows优化大师
  • 做企业网站可以没有后台吗网站搭建需要什么
  • 做网站1000以下哪家好写文的免费软件
  • 各种网站推广是怎么做的国内新闻最新5条
  • app网站制作美国传销网站关键词
  • wordpress statraq重庆的seo服务公司
  • 个人做淘宝客网站要备案官网设计比较好看的网站
  • pc端网站转手机站怎么做小说搜索风云榜
  • 营销型网站建设企业北京百度推广开户
  • 学做漂亮早餐的网站哪个网站是免费的
  • 做网站的公司都有哪些岗位站长联盟
  • 做弹弓教程网站全网营销系统怎么样