oracle 多列轉成一列(列轉行)、 行轉列
1.多列轉成一列(列轉行)
--6列轉成兩列(列轉行)
這就是最常見的列轉行,主要原理是利用SQL裡面的union
with temp as
(select
a.iid_sn,
a.product_name,
a.sales_figures,
a.selling_cost,
a.pretax_profit,
a.closing_inventory
from is_import_detail a, is_import b
where a.isi_sn = b.isi_sn
and b.import_year=?
and b.import_month=?
and a.product_name=?)
--sql中要想實現特定的排序,可以適當加一些整數
select 1,'銷售額' as salename, sales_figures as sale
from temp
union
select 2,'銷售成本' as salename, selling_cost as sale
from temp
union
select 3,'稅前利潤' as salename, pretax_profit as sale
from temp
union
select 5, '期末庫存量' as serialname, closing_inventory as serial
from temp
2.行轉列
主要原理是利用decode函式、聚集函式(sum),結合group by分組實現的,具體的sql如下:
select t.user_name,
sum(decode(t.course, '語文', score, null)) as chinese,
sum(decode(t.course, '數學', score, null)) as math,
sum(decode(t.course, '英語', score, null)) as english
from test_tb_grade t
group by t.user_name
order by t.user_name
相關推薦
oracle 多列轉成一列(列轉行)、 行轉列
1.多列轉成一列(列轉行) --6列轉成兩列(列轉行) 這就是最常見的列轉行,主要原理是利用SQL裡面的union with temp as (select a.iid_sn, a.product_name, a.sales_figures, a
三秒+一個小Demo,輕鬆掌握Hive中的 列轉行、行轉列!!!
閒話少敘,直接開幹! 先看Demo: 一、行轉列 首先,我們需要收集資料,建立一個檔案,內容如下: 一、啟動Hive,建立表並匯入資料: 1.1 建立表 create table test(name string,xingzuo string,xuexing string)
oracle 表(table)上最後一次 DML時間、行(row)上最後DML時間
轉載自:http://www.anbob.com/archives/734.html 在這介紹兩個oracle 10G開始提供的一個偽列ORA_ROWSCN,它又分為兩種模式一種是基於block,這是預設的模式,還有一種是基於row上,這種模式只能在建裡表時指定ROWD
oracle資料庫把某行資料轉成一列資料
select running_time, running_user, algorithm_id, algorithm_list_id, name1, name2, ROWNUM, wm_concat(t
SQL Server 行轉列,列轉行。多行轉成一列
一、多行轉成一列(並以","隔開)表名:A表資料:想要的查詢結果:查詢語句:SELECT name , value = ( STUFF(( SELECT ',' + value FROM A
SQL 多行轉成一列
CREATE TABLE [dbo].[a]([id] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL,[name] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL,[value] [nchar]
轉換一個字段中含有多個另外一張表的id | | 行轉列
ret .net sub 模式 end posit tex 匹配 replace 1、Oracle Function --入參:表 id /* cxcyxm02 :操作表,含有一個存儲另一張表(xs0101)多個主鍵id的字段 ids :操作表的主鍵 i
postgresql多列合併成一列string_agg函式
1 有時候我們會需要將多條資料根據一些特別的欄位做一些合併。比如下面這個查詢,正常會查詢出3條資料,但是我們會希望根據create_by 分成兩列顯示 2 這時候需要用到string_agg函式,先通過group by分組,在進行合併,當然查詢結果需要滿足group
sqlserver把列說明轉成一列資料
sqlserver中可以對庫說明、表說明、表的列說明,這些說明起到註釋的作用。 有天同事問到如何把列說明變成一個欄位轉成表的資料,就不用那麼麻煩每次去改表了。 在資料庫中可以這樣查 先在shiyan1資料庫中 EXEC [shiyan1].sys.sp_addextende
SQL SERVER Date列和Time列合併成一列處理報表資料
問題原由: intouch專案中,利用intouch指令碼來儲存資料時,存入的時間格式為:date,time分開儲存。在報表需求中,有需要利用查詢兩個時間段之間的資料。 問題解決: 1.直接寫指令
EXCEL中兩列合併成一列以及根據相同列的值將表中一列的值複製到另一張表中?
今在做EXCEL時遇兩問題,現和大家分享如下: 1、如何將表中兩列值合併到一列,並按照一定的分隔符進行分割,公式如下: 假如:要將F和G的值 合併到H列並按逗號“,”隔開: H1=F1&“,"&G1 2、有兩張表,根據表中相同的編號將成績複製到
Hive裡實現行資料的拆分、一行轉多行、行轉列、explode使用
在做資料轉換、清洗的過程中,經常會對行進行拆分、一行資料拆分為多行資料,下面是簡單的例子: 如圖表裡有如下資料:最終要得到結果如下:先用split進行分割得到一個數組,在用explode拆分陣列。LATERAL VIEW explode(split(b,',')
Mysql 列轉行統計查詢 、行轉列統計查詢
- ---------------------------- -- Table structure for `TabName` -- ---------------------------- DROP TABLE IF EXISTS `TabN
SQL Server 動態行轉列(引數化表名、分組列、行轉列欄位、欄位值)
一.本文所涉及的內容(Contents) 二.背景(Contexts) 其實行轉列並不是一個什麼新鮮的話題了,甚至已經被大家說到爛了,網上的很多例子多多少少都有些問題,所以我希望能讓大家快速的看到執行的效果,所以在動態列的基礎上再把表、分組欄位、行轉列欄位、值這四個行轉列固定需要的值變成真正意義的
db2中的列轉行和行轉列
行轉列 給出下面的資料: CREATE TABLE Sales (Year INT, Quarter INT, Results INT) YEAR QUARTER RESULTS----------- ----------- -----------
SQL列轉行及行轉列
--============================================== 作者:王運亮(wwwwgou) 時間:2011-06-10 部落格:http://blog.csdn.net/wwwwgou --======================
HQL的列轉行和行轉列
轉自:https://blog.csdn.net/weixin_38653290/article/details/84639754 列轉行 測試資料 hive> select * from col_lie limit 10; OK col_lie.user_id col_lie
MaxComputeSQL-列轉行和行轉列
摘要: 1. 假設我們在MaxCompute中有兩張表,其中一張表是存使用者基本資訊,另一張表是存使用者的地址資訊等,表資料假設如下: user_basic_info: id name 1 a 2 b 3 c 大資料計算服務(MaxCompute,原名ODPS)是
如何用PHP輸出一張表格,5行5列,要求每行以顏色區分。
$color = array("#000000","#333333","#666666","#999999","#CCCCCC"); echo"<table>"; for($row=0;$row<5;$row++){ echo"<tr>"
hive-列轉行和行轉列
1. 假設我們在hive中有兩張表,其中一張表是存使用者基本資訊,另一張表是存使用者的地址資訊等,表資料假設如下: user_basic_info: id name 1 a 2 b 3 c 4 d user_address; name address a add1 a ad