我有一個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