新聞中心
MSSQL查詢實現(xiàn)列轉行的小技巧

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、成都網(wǎng)站設計、金壇網(wǎng)絡推廣、重慶小程序開發(fā)公司、金壇網(wǎng)絡營銷、金壇企業(yè)策劃、金壇品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供金壇建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
SQL查詢技術可以很好地解決數(shù)據(jù)庫信息處理中的各種問題,其中,如果要把一些表格表示的信息,將列轉行,也就是將一列數(shù)據(jù)轉變成多行數(shù)據(jù),有時候也是至關重要的。本文將利用MSSQL語句,來實現(xiàn)一個簡單的列轉行,同時講解相關實現(xiàn)原理。
首先,假設有如下一個表格:

如果要將上面的列A,B,C轉換為行的形式,本文給出的小技巧是:
“`sql
SELECT
sum(CASE
WHEN ROW_number = 1 THEN Value
ELSE 0 END) AS A,
SUM(CASE WHEN ROW_NUMBER = 2 THEN Value
ELSE 0 END) AS B,
SUM(CASE WHEN ROW_NUMBER = 3 THEN Value
ELSE 0 END) AS C
FROM
(
SELECT
ROW_NUMBER() OVER(ORDER BY SUM(type)) AS ROW_NUMBER,
SUM(value) AS VALUE
FROM table
GROUP BY type
) T
簡單解釋一下,本查詢語句首先通過ROW_NUMBER函數(shù),給表中每行發(fā)放一個連續(xù)的數(shù)字;然后,使用SUM和CASE關鍵字,把A-C列,轉換為一個大表;最后,再把這個大表中每一行的值,進行求和。
運行上述查詢,可以得到如下結果:

可見,本文使用MSSQL查詢實現(xiàn)了列轉行。實際應用中,由于SQL是可以自定義的,因此在使用時加上一些細節(jié),也能調整出自己希望的查詢結果。
成都服務器托管選創(chuàng)新互聯(lián),先上架開通再付費。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設,軟件開發(fā)老牌服務商!微信小程序開發(fā),APP開發(fā),網(wǎng)站制作,網(wǎng)站營銷推廣服務眾多企業(yè)。電話:028-86922220
分享文章:用MSSQL查詢實現(xiàn)列轉行的小技巧(mssql 列轉行 查詢)
URL標題:http://fisionsoft.com.cn/article/djgcsoe.html


咨詢
建站咨詢
