(2)SQL語句實現表的橫向聚合

2022-02-04 12:40:37 字數 1454 閱讀 3818

問題描述:

假如有一表結構和資料如下:

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...