首先题目是这样的:

球队表teams

比赛表matches

赢了得3分,平局的得1分,输了得0分。

思路:

一个球队的成绩分为两部分,作为主队的得分和作为客队的得分;

计算出一次比赛中具体得了多少分,具体的比较我也不知道;

得到这个零时表然后根据球队group求和;

最后根据球队表关联得出球队的名字;

然后在排个序。

select teams.*,
ISNULL(points.num_points,0) as num_points
from teams left join
(select host_team,
SUM(hostpoint) as num_points
from (select host_team,
(case when host_goals>guest_goals then 3 when host_goals=guest_goals then 1 else 0 end) as hostpoint
from matches
union
select guest_team,
(case when host_goals>guest_goals then 0 when host_goals=guest_goals then 1 else 3 end) as guestpoint
from matches) point
group by host_team) points
on teams.team_id=points.host_team
order by points.num_points desc,teams.team_id asc

1. 我不知道怎么把比赛结果转化为得分,case when还不会用,不知道还有这个

2. ISNULL也没有判断

球队以及得分计算的SQL语句的更多相关文章

  1. SQL语句在OLAP的妙用(多维分析与指标计算)

    ================================================================================ BI传统实现原理: 1.涉及维度管理( ...

  2. SQL SERVER 数据库实用SQL语句

    --查看指定表的外键约束 select * from sysobjects where parent_obj in( select id from sysobjects where name='表名' ...

  3. SQL语句调优 - 统计信息的含义与作用及维护计算

    统计信息的含义与作用                                                                                          ...

  4. PGSQL-通过SQL语句来计算两个日期相差的天数

    这是本人第一次写的~我在某次需求中遇到一个问题,如何在SQL语句中计算出两个日期的天数,然后用那个结果来进行数据的筛选呢?通过网上查阅了资料发现 date_part('day', cast(time1 ...

  5. SQL语句计算距离今天生日还差几天

    转载于:http://www.w3dev.cn/article/20110125/sql-compute-birthdate-now-days.aspx SQL语句计算距离生日还差几天原理很简单,将要 ...

  6. mysql 计算两点经纬度之间的直线距离(具体sql语句)

    文章转载地址 http://blog.sina.com.cn/s/blog_7bbfd5fd01017d1e.html 新增sql语句具体实现 计算距离(单位 m)并排序 longitude 经度 l ...

  7. mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句

    文章转载地址 http://blog.sina.com.cn/s/blog_7bbfd5fd01017d1e.html 感谢作者. 在原文的基础上,我新增了sql语句,方便大家理解 mysql距离计算 ...

  8. sql语句计算出每个月的天数

    原文:sql语句计算出每个月的天数   从当前月-11个月开始,到当前月为止,用一个sql语句计算出每个月的天数. SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-LEVEL+1 ...

  9. [20191101]通过zsh计算sql语句的sql_id.txt

    [20191101]通过zsh计算sql语句的sql_id.txt 1.简单介绍以及测试使用zsh遇到的问题:--//前段时间写的,链接http://blog.itpub.net/267265/vie ...

随机推荐

  1. JAVA的面向对象编程

    JAVA的面向对象编程 面向对象主要针对面向过程. 面向过程的基本单元是函数. 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 全部的事物都有两个方面: 有什么(属性):用来描写叙 ...

  2. Mapper not initialized. Call Initialize with appropriate configuration.

    System.InvalidOperationException:“Mapper not initialized. Call Initialize with appropriate configura ...

  3. Android 自定义数字加减器

    该自定义View主要是实现一款效果不错的数字加减器的功能的,但是也可以自定义选择器的外观颜色等. 1.自定义View的布局(add_sub_view.xml) <?xml version=&qu ...

  4. taro 请求函数封装

    1.项目目录 2.代码 app/src/service/api.js import Taro from '@tarojs/taro' import { HTTP_STATUS } from '../c ...

  5. 坑爹的Adprep32.exe

    今天看书的时候,看到用ADSI设置Universal Group Membership Caching,就想到用.Net Framework来实现,找了半天,才找到System.directoryse ...

  6. View设置宽高

    public class ViewMeasuare extends View { public ViewMeasuare(Context context, AttributeSet attrs) { ...

  7. hibernate查询排序

    hibernate提供了两种排序方式:1:数据库排序,也就是说通过SQL语句在数据库内部就进行完了排序.2.内存排序,也就是说在数据库中把数据加载到内存中后在进行排序.推荐使用第一种排序方式,因为在数 ...

  8. NET框架 Castle

    Castle是针对.NET平台下的一个非常优秀的开源项目,从数据访问框架 ORM到依赖注入容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提 ...

  9. jenkins构建执行shell 所有命令出现command not found

    出现的问题: + rsync -avzP /mnt/workspace/df-admin/ root@192.168.0.153:/home/deploy/deep_fashion_targets/w ...

  10. 自定义asp.net mvc Filter 过滤器

    1新建一个mvc项目:如图 2.主要创建下面一些类文件 1.utility目录 放置自定义的过滤器 using System; using System.Collections.Generic; us ...