id name subj score
1 a 語文 88
2 a 數學 89
3 b 外語 89
()
求一條sql顯示:計算出score欄位中89出現的次數,并在欄位最下面顯示,在()處,而且能自動根據記錄的增加而變化
uj5u.com熱心網友回復:
if not object_id(N'tempdb..#a') is null
drop table #a
go
create table #a (
id int ,
[name] nvarchar(10),
subj nvarchar(10),
score nvarchar(10)
)
go
insert #a
select 1,'a','語文','88' union all
select 2,'a','數學','89' union all
select 3,'b','英語','89'
go
select * from #a
go
select * from #a
union
select 4,'','',count(*) from #a where score =89
uj5u.com熱心網友回復:
----也可以吧4改成以下這個
select * from #a
union
select max(id)+1 ,'','',count(*) from #a where score =89
uj5u.com熱心網友回復:
能每一步解釋一下嗎?看的不是太懂uj5u.com熱心網友回復:
---判斷數據庫是否存在#a臨時表,如果存在就刪除
if not object_id(N'tempdb..#a') is null
drop table #a ---這是刪除臨時表
go ---go可以理解為一段結束
---創建#a臨時表
create table #a (
id int ,
[name] nvarchar(10),
subj nvarchar(10),
score nvarchar(10)
)
go
---給臨時表插入數據
insert #a
select 1,'a','語文','88' union all
select 2,'a','數學','89' union all
select 3,'b','英語','89'
go
---查詢臨時表
select * from #a
go
---拼接查詢語句
select * from #a --首先查詢出來所有的數據
union ---使用關鍵字進行拼接
select max(id)+1,'','',count(*) from #a where score =89
uj5u.com熱心網友回復:
還是不完全懂,不過還是謝謝大神轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/133729.html
標籤:疑難問題
上一篇:小白想在空閑時間學習一下Python,沒學過C語言影響嗎?
下一篇:新手一枚求大神找錯
