前言

SQLZOO里面的题还是比较适合初学者的,这里仅仅作为巩固基础,同时因为这道题目前搜不到相应的答案,所以做个小小的分享~
PS:非小白玩家可以去LeetCode、牛客网、CodeWars上刷题更佳

题目

General Elections were held in the UK in 2015 and 2017. Every citizen votes in a constituency. The candidate who gains the most votes becomes MP for that constituency.
All these results are recorded in a table ge

yr firstName lastName constituency party votes
2015 Ian Murray S14000024 Labour 19293
2015 Neil Hay S14000024 Scottish National Party 16656
2015 Miles Briggs S14000024 Conservative 8626
2015 Phyl Meyer S14000024 Green 2090
2015 Pramod Subbaraman S14000024 Liberal Democrat 1823
2015 Paul Marshall S14000024 UK Independence Party 601
2015 Colin Fox S14000024 Scottish Socialist Party 197
2017 Ian MURRAY S14000024 Labour 26269
2017 Jim EADIE S14000024 SNP 10755
2017 Stephanie Jane Harley SMITH S14000024 Conservative 9428
2017 Alan Christopher BEAL S14000024 Liberal Democrats 1388

1.Show the lastName, party and votes for the constituency ‘S14000024’ in 2017.

SELECTlastName,party, votes
FROM ge
WHERE constituency = 'S14000024' AND yr = 2017
ORDER BY votes DESC

2.Show the party and RANK for constituency S14000024 in 2017. List the output by party

SELECTparty, votes,RANK() OVER (ORDER BY votes DESC) as posn
FROM ge
WHERE constituency = 'S14000024' AND yr = 2017
ORDER BY party

3.Use PARTITION to show the ranking of each party in S14000021 in each year. Include yr, party, votes and ranking (the party with the most votes is 1).

SELECT yr,party, votes,RANK() OVER (PARTITION BY yr ORDER BY votes DESC) as posn
FROM ge
WHERE constituency = 'S14000021'
ORDER BY party,yr

4.Use PARTITION BY constituency to show the ranking of each party in Edinburgh in 2017. Order your results so the winners are shown first, then ordered by constituency.

SELECT constituency,party, votes, RANK() over(PARTITION BY constituency ORDER BY votes DESC) as posn
FROM ge
WHERE constituency BETWEEN 'S14000021' AND 'S14000026'AND yr  = 2017
ORDER BY posn, constituency

5.Show the parties that won for each Edinburgh constituency in 2017.

SELECT a.constituency,a.party
FROM
(SELECT constituency,party,RANK() over(partition by constituency order by votes DESC) as posn
FROM ge
WHERE constituency  BETWEEN 'S14000021' AND 'S14000026'AND yr  = 2017) a
WHERE a.posn = 1

6.Show how many seats for each party in Scotland in 2017.

# 这道题想了一会儿
SELECTa.party, count(1)
FROM
(SELECT constituency,party,RANK() over(partition by constituency order by votes DESC) as posnFROM geWHERE constituency like 'S%'AND yr  = 2017) a
WHERE a.posn =1
GROUP BY a.party

SQLZOO附加题练习 - Window functions相关推荐

  1. SQLZOO刷题笔记

    SQLZOO刷题笔记-更新中 注意 Self Join 10. 公交车的转车站点 Window functions 0. 排序 1. warming up 2. Who won? 3. PARTITI ...

  2. sqlzoo刷题——SUM and COUNT(聚合函数)

    前言 本文章记录sqlzoo刷题过程以及解题思路,每个小节不仅包含练习,还有选择题(quiz)部分的实现思路 网址:sqlzoo_SUM and COUNT 一.代码练习部分 展示世界的總人口. 查询 ...

  3. [附加题] 结对项目对接的苦痛

    [附加题] 结对项目对接的苦痛 本次很荣幸地,我的程序作为很多程序员队伍的备胎计算模块被加入了各大程序的附加题参考中,有以下几位同学都曾与我进行模块的对接: GNU_Linuxer 马克斯 kanel ...

  4. 网页附加题写出下图的html,附加题(写HTML文件):根据给定的博客名单,自动生成HTML网页...

    收集了学生CSDN博客地址很久了,但一直没来得及整理成贺利坚老师的完美班级网页名册.今天突然想,一共有6个班学生,如果手动写的话,太费事了.我们程序员,就是让费事不费脑的工作自动化,即使是第一次花很多 ...

  5. 2014腾讯实习生招聘软件开发类附加题

    附加题: 31. 一个珠宝商甲要鉴定41克以下的宝石(40克及以下的任意重量),商甲只带一个天平和四个砝码,请问带哪四个砝码? 32. 一道有关utf-8编码的题.给了个例子:"我" ...

  6. mysql 窗口函数最新一条_MySQL 8.0 窗口函数(window functions)

    窗口函数(window functions)是数据库的标准功能之一,主流的数据库比如Oracle,PostgreSQL都支持窗口函数功能,MySQL 直到 8.0 版本才开始支持窗口函数. 窗口函数, ...

  7. 【Clickhouse】Clickhouse 分析函数 window functions 窗口函数

    文章目录 1.概述 1.1.窗口函数: 1.2.标准SQL语法 1.3.分析函数分类: 2.Top N: 3.案例 1.概述 转载:Clickhouse 分析函数 window functions 窗 ...

  8. 我们体验了宝马自然语音识别,还给它出了几道「附加题」

    宝马在设计iDrive (智能驾驶控制系统)时,始终坚持的一个原则是「不分心」.2011年,当时的宝马人机界面负责人Bernarhd Neidermaier在一次交流中提到,设计师们心里其实有一条水平 ...

  9. 阿里天池用Pandas揭秘美国选民的总统喜好附加题

    = =我也不知道有没有杯子,大家权当热闹看看吧. 第一个附加题是按州总捐款热力地图(前面的大家可以直接在天池看,这是个教程类的入门,前面的说实话没啥好看的,新手就好好看看) import seabor ...

  10. sqlzoo刷题——select from nobel(诺贝尔获奖查询)

    前言 本文章记录sqlzoo刷题过程以及解题思路,每个小节不仅包含练习,还有选择题(quiz)部分的实现思路 网址:sqlzoo 一.代码输入 更改查詢以顯示1950年諾貝爾獎的獎項資料 查询结果包含 ...

最新文章

  1. 使用 Android NDK 重用现有的 C 代码
  2. OpenvSwitch命令总结
  3. catia过载属性使用方法_CATIA--命令详解
  4. 数据结构:四种排序的比较
  5. 计算器的程序代码java_求用JAVA编写的计算器程序代码
  6. 数据库SQL语言从入门到精通--Part 2--MySQL安装
  7. C++学习笔记 简单部分
  8. android fragment 嵌套,Fragment嵌套Fragment时遇到的那些坑
  9. 003.linux开发环境配置及linux极速入门
  10. Windows 增加 Open command window here 选项
  11. 如何理解操作系统的不确定性_如何创造可信任的机器学习模型?先要理解不确定性...
  12. 网校系统推荐eduline_语文哪个网校教得好
  13. 关于vs编译的程序无法正常启动(0xc0150002)的问题
  14. 淘宝用户行为数据挖掘-python
  15. 区块链的隐私保护问题
  16. python关于类和对象说法正确的是_关于类和对象的关系,下列描述正确的是()。
  17. Java开发工程师大厂面试常见问题总结(应届生版)
  18. (廿五)Python爬虫:抓取今日头条图片
  19. 几种常用的网络路由交换协议【路由协议】
  20. 自然语言处理(一)——文法(形式语言)基本概念

热门文章

  1. 成功安装python后、在dos命令行窗口中-python在WIN运行时去掉DOS窗口显示的方法
  2. 平均查找长度 (ASL)
  3. UITableView 部分方法详解
  4. 联想笔记本电脑insert键占用,当鼠标变成小方块时,如何解决
  5. JS控制台报错Uncaught TypeError Cannot read properties of null (reading ‘appendChild‘);的解决方法
  6. 扣哒世界发布面向中小学阶段C++信奥课程体系
  7. AndroidStudio在Android9上调试闪退的问题
  8. 后端开发java与php,【后端开发】java与php的区别是什么
  9. 完美世界CEO萧泓:年轻化战略大有可为
  10. 手机端App出现崩溃常见类型