問題描述:
假如有一表結構和資料如下:
c1c2
c3c4c51
2634
2234
5036
28經過sql查詢後輸出的結果集為:(字段後面增加聚合[最大值] [最小值] [>=5的值個數])
c1c2
c3c4
c5max
mincount(>=5)12
6346
1122
3455
2103
6288
22實現該結果的sql 指令碼如下:
/*執行結果如下圖所示:作 者:建立日期:<2012-9-29>
功 能:《實現表橫向聚合》
*/declare
@ttable(c1 int,c2 int,c3 int,c4 int,c5 int
)insert
into
@tvalues(1,2,6,3,4
)insert
into
@tvalues(2,2,3,4,5
)insert
into
@tvalues(0,3,6,2,8)--
查詢select*,
[min]=
(
select
min(v) from
(
select v=a.c1 union
select v=a.c2 union
select v=a.c3 union
select v=a.c4 union
select v=
a.c5
)b),
[max]=
(
select
max(v) from
(
select v=a.c1 union
select v=a.c2 union
select v=a.c3 union
select v=a.c4 union
select v=
a.c5
)b),
[count>=5]=
(
select
count(*) from
(
select v=a.c1 union
select v=a.c2 union
select v=a.c3 union
select v=a.c4 union
select v=
a.c5
)b where v>=5)
from
@t a
SQL語句實現資料表的字段值橫向顯示
用sql實現由原表a到目標表b的轉換,將原表a中cc列的值做為目標表b的字段,目標表b新建欄位的值為原表a中對應的 value值,如以下兩表。原表aid cc value 1 d 100 2 d 200 3 d 300 1 e 1000 2 e 2000 3 e 3000 1 f 10 2 f 20...
2 SQL的基本書寫規則
對於 sql 初學者,在寫 sql 語句時,只要遵守下面幾個書寫規則,就可以避免很多錯誤。這些規則都非常簡單,下面我們來逐一介紹。在 rdbms 關係型資料庫 當中,sql 語句是逐條執行的,一條 sql 語句代表著資料庫的乙個操作。我們通常在句子的句尾加註標點表示這句話結束,中文句子以句號。結尾,...
sql語句實現2個表的查詢(內連線)
sql內連線查詢2個表有關聯的id的資訊 如 表一員工申請表ygsq,字段 id,標題,內容 表二管理人員審核表 ygsq jl,字段 id,ygsq id,審核內容 sql語句如下 重審核表中查詢出所有不重複的申請記錄 sql select distinct ygsq id from ygsq i...