『壹』 急求!用sql語句查詢球隊的勝率並進行排名
select 球隊名稱,勝利場數,失敗場數,(勝利場數/失敗場數)*100 as 勝率
from 球隊排行表 order by 勝率
要是不行的話 請嘗試
select 球隊名稱,勝利場數,失敗場數,(勝利場數/失敗場數)*100 as 勝率
from 球隊排行表 order by (勝利場數/失敗場數)*100
顯示出%符號:
select 球隊名稱,勝利場數,失敗場數,convert(varchar(10),(勝利場數/失敗場數)*100+'%' as 勝率
from 球隊排行表 order by (勝利場數/失敗場數)*100
『貳』 sql子查詢,分別統計出每支隊伍的勝負次數
select a.iwu ,a.勝,b.負 from
(select count(*) 勝, iwu from tabb where shengfu='勝' group by iwu ) a left join
(select count(*) 負, iwu from tabb where shengfu='負' group by iwu ) b on a.iwu=b.iwu
--sql2000調試通過,可以自己用case when改寫一下
『叄』 sql查詢語句,ABC三隻球隊各有勝負,要生成下面的表該怎麼辦
SELECTteam,SUM(CASEresultWHEN'勝'THEN1ELSE0END)ASwin,SUM(CASEresultWHEN'負'THEN1ELSE0END)asloss
FROM原表A
GROUPBYteam
『肆』 一個只有 name的表 有name分別是 a b c d 四個球隊 任意兩個球隊打比賽 一共會有幾場比賽 用 sql語言表示
雙循環對陣場次:
select a.name,b.name from test3 a,test3 b where a.name<>b.name
雙循環比賽場數:
select count(*) from test3 a,test3 b where a.name<>b.name
單循環對陣場次:
select a.name,b.name from test3 a,test3 b where a.name<b.name
單循環比賽場數:
select count(*) from test3 a,test3 b where a.name<b.name
表名自己替換一下,我用的test3
歡迎追問
『伍』 幫忙寫一句簡單的sql語句,簡直在送分~
--> --> (Roy)生成測試數據
if not object_id('Tempdb..#T') is null
drop table #T
Go
Create table #T([比賽] int,[數據類型] nvarchar(2),[數據值] nvarchar(2))
Insert #T
select 1,N'得分',N'10' union all
select 1,N'籃板',N'5' union all
select 1,N'助攻',N'2' union all
select 1,N'首發',N'是' union all
select 2,N'得分',N'20' union all
select 2,N'籃板',N'8' union all
select 2,N'助攻',N'3' union all
select 2,N'首發',N'否'union all
select 3,N'得分',N'20' union all
select 3,N'籃板',N'7' union all
select 3,N'助攻',N'5' union all
select 3,N'首發',N'是'
Go
Select
cast(sum(case when [數據類型]=N'得分' then [數據值] else 0 end)*1.0/count(distinct [比賽]) as decimal(18,2)) as 均場得分,
cast(sum(case when [數據類型]=N'籃板' then [數據值] else 0 end)*1.0/count(distinct [比賽])as decimal(18,2)) as 均場籃板,
cast(sum(case when [數據類型]=N'助攻' then [數據值] else 0 end)*1.0/count(distinct [比賽])as decimal(18,2)) as 均場助攻
from #T a
where
exists(select 1 from #T where [比賽]=a.[比賽] and [數據類型]=N'首發' and [數據值]='是')
(12 行受影響)
均場得分 均場籃板 均場助攻
--------------------------------------- --------------------------------------- ---------------------------------------
15.00 6.00 3.50
(1 行受影響)
『陸』 sql查詢語句問題
select race.RaceNumbers,
race.比賽日期,
t1.teamName,
t2.teamName,
m1.進球數,
m2.進球數,
from MatchScheles as race
inner join team as t1 on t1.TeamId = race.TeamId
inner join team as t2 on t2.TeamId = race.Tea_Teamid
inner join MatchInforma as m1 on m1.RaceNumbers = race.RaceNumbers and m1.TeamId = t1.TeamId
inner join MatchInforma as m2 on m2.RaceNumbers = race.raceNumbers and m2.TeamId = t2.TeamId
我能想到的就是這樣了,可能不是最優的,不過應該能得到你要的結果。
至於把兩個結果合成 3:2 就要看你用的是什麼資料庫了,把兩個進球數和:拼接起來就好了。