我有一个MS-SQL游戏结果表,其中包含主队,主队得分,客场球队和客队比分。我试图查询按第一,总胜数(降序)和总损失(升序)排序的球队,胜利和损失。表不包含包含一个胜利或亏损列。胜利和损失必须根据得分计算。如果我需要创建一个视图或临时表,那么如何通过团队,胜利和损失来创建该视图?基于各列总和的SQL排序
0
A
回答
0
select
teamName,
'wins' =
case
when wins is null then 0
else wins
end,
'losses' =
case
when losses is null then 0
else losses
end
from
teams
left join
(
select
a.wins as wins,
b.losses as losses,
'team' =
case
when a.team is null then b.team
else a.team
end
from
(
select
homeTeam as team,
sum(wins) as wins
from
(
select
homeTeam,
count(*) as wins
from
results
where
homeScore > awayScore
group by
homeTeam
union all
select
awayTeam,
count(*) as wins
from
results
where
homeScore < awayScore
group by
awayTeam
) a
group by homeTeam
) a
full outer join
(
select
homeTeam as team,
sum(losses) as losses
from
(
select
homeTeam,
count(*) as losses
from
results
where
homeScore < awayScore
group by
homeTeam
union all
select
awayTeam,
count(*) as losses
from
results
where
homeScore > awayScore
group by
awayTeam
) a
group by
homeTeam
) b
on a.team = b.team
) c
on teams.id = c.team
1
假设你可以拉回来,在你的查询信息,您可以在ORDER BY
条款使用集合体:
ORDER BY
SUM(win) DESC
,SUM(loss) ASC
编辑:更新评论
由于只有分数被存储,你”我想要使用临时表或CTE(取决于您使用的DBMS,如果支持它们)首先创建一个包含团队并赢得和损失的表,然后您可以从SELECT
和ORDER
相应地。
1
SELECT *
FROM MyTable
WHERE ...
ORDER BY SUM(win) DESC, SUM(loss) ASC
有关更详细的答案,请提供您的架构和示例数据。
0
家庭作业?
无论如何,您可以通过在订单中跟踪列来指定SQL语句中的排序顺序。例如,
select x, y, z from table order by x asc, y desc, z asc
相关问题
- 1. 基于各列值的总和值
- 2. SQL基于其他列的列总和
- 3. 基于排序的节点排序,分组和总和?
- 4. xslt基于排序的节点排序和总和..?
- 5. 基于交替列的T-SQL排序
- 6. 排序基于列
- 7. 总和列相应于各行
- 8. 基于每个嵌套列表的总和列表排序列表
- 9. 基于排序列和另一列值重新排序表
- 10. SQL:将各个部分分开排列在多列上汇总
- 11. 显示和排序基于同一列
- 12. 排序排序列表基于值C#
- 13. SQL Server:基于另一列的列的总和
- 14. VB.NET排名基于排序的Excel列
- 15. 交互式排序基于总计
- 16. SQL Server排序基于两列 - 父和子
- 17. 排序基于3列
- 18. 列排序基于价值
- 19. 基于另一列的总和列laravel
- 20. 排序基于最大长度和最大总和
- 21. SQl的排序基于连接表
- 22. 基于查询排序的SQL行数?
- 23. 基于2个字段的SQL排序
- 24. 基于SQL的总数
- 25. 排序在Oracle各列
- 26. 总和行的基于列的值
- 27. 如何基于列而排序,但基于另一列的uniq?
- 28. SQL查询的总和排序表
- 29. 基于活动日期的列中的SQL总和行数
- 30. 基于散列和键阵列的可排序表列
澄清,输赢是不是在表中的列。他们必须根据主场比分与客场比分 – mp42871 2011-04-11 18:58:39
进行计算,然后您需要发布您的表格结构和一些样品数据! – JNK 2011-04-11 19:05:43
我个人的偏好很可能会让你看到一个总结当前季节的胜/败的情况,并运行你对这个观点的查询。 – JNK 2011-04-11 19:06:29