元資料如下:
司機 車次 車號 車站 時間 上下車
001 1305 1305 1399 2017/5/18 5:13:01 0
001 1305 1305 1321 2017/5/18 5:35:53 1
001 1305 130581 1321 2017/5/18 5:36:01 0
001 1305 130581 1321 2017/5/18 7:51:01 1
001 1305 130581 1321 2017/5/18 7:52:01 0
001 1305 130581 1399 2017/5/18 8:13:01 1
效果
司機 車次 車號 車站 時間 上車 車站 時間 下車
001 1305 1305 1399 2017/5/18 5:13:01 0 1321 2017/5/18 5:35:53 1
001 1305 130581 1321 2017/5/18 5:36:01 0 1321 2017/5/18 5:51:01 1
001 1305 130581 1321 2017/5/18 7:52:01 0 1399 2017/5/18 8:13:01 1
uj5u.com熱心網友回復:
頂上去頂上去uj5u.com熱心網友回復:
select 司機,車次,車號,wm_concat(上車) 上車,wm_concat(上車時間) 上車時間,,wm_concat(上車車站) 上車車站,wm_concat(下車) 下車,wm_concat(下車時間) 下車時間,,wm_concat(下車車站) 下車車站 from (select 司機,車站,
decode(上下車,0,上下車,null) 上車,
decode(上下車,0,時間,null) 上車時間,
decode(上下車,0,車站,null) 上車車站,
decode(上下車,1,上下車,null) 下車,
decode(上下車,1,時間,null) 下車時間,
decode(上下車,1,車站,null) 下車車站,
from
表
)
group by 司機,車次,車號
order by 司機,車次,車號
uj5u.com熱心網友回復:
-- 借樓主陳述句,用個 max 函式就行了
select 司機,
車站,
車號,
max(decode(上下車, 0, 上下車, null)) 上車,
max(decode(上下車, 0, 時間, null)) 上車時間,
max(decode(上下車, 0, 車站, null)) 上車車站,
max(decode(上下車, 1, 上下車, null)) 下車,
max(decode(上下車, 1, 時間, null)) 下車時間,
max(decode(上下車, 1, 車站, null)) 下車車站
from 表
group by 司機, 車次, 車號
order by 司機, 車次, 車號
uj5u.com熱心網友回復:
行轉列 百度一下很多的。uj5u.com熱心網友回復:
你也可以這樣寫
select a*,B.車站, B.時間, B.下車 FROM
(select 司機,車次,車號,車站, 時間 ,上下車 AS 上車 from T1 WHERE 上下車=0)A1
join (SELECT 司機,車次,車號,車站, 時間 ,上下車 AS 下車 from T1 WHERE 上下車=1) A2
ON A1.司機=A2.司機 AND A1.,車次=A2.,車次 AND A1.車號=A2.車號
uj5u.com熱心網友回復:
001 1305 130581 1321 2017/5/18 5:36:01 0 1321 2017/5/18 5:51:01 1
這條記錄查不出來是為啥
uj5u.com熱心網友回復:
select 司機,車站,
車號,
max(decode(上下車, 0, 上下車, null)) 上車,
max(decode(上下車, 0, 時間, null)) 上車時間,
max(decode(上下車, 0, 車站, null)) 上車車站,
max(decode(上下車, 1, 上下車, null)) 下車,
max(decode(上下車, 1, 時間, null)) 下車時間,
max(decode(上下車, 1, 車站, null)) 下車車站
from 表
group by 司機, 車次, 車號
order by 司機, 車次, 車號
紅色,改成 車次;
uj5u.com熱心網友回復:
這樣查出來的結果有點問題 如下:
3 00833 1305 1305 1399 2017/5/18 5:13:01 1321 2017/5/18 5:35:53
5 00833 1305 130581 1321 2017/5/18 5:36:13 1327 2017/5/18 8:12:48
2 00833 1305 130581 1321 2017/5/18 5:36:13 1321 2017/5/18 7:51:35
4 00833 1305 130581 1321 2017/5/18 7:51:49 1327 2017/5/18 8:12:48
1 00833 1305 130581 1321 2017/5/18 7:51:49 1321 2017/5/18 7:51:35
uj5u.com熱心網友回復:
還是少了 結果如下:
1 00833 1305 1305 0 2017-05-18 05:13:01 1 2017-05-18 05:35:53
2 00833 1305 130581 0 2017-05-18 07:51:49 1 2017-05-18 08:12:48
uj5u.com熱心網友回復:
這幾條記錄有創建時間,用時間升序然后給個序號,1和2,3和4,5和6 這樣組合,這個思路可以嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/94893.html
標籤:高級技術
上一篇:一個簡單的連接,為什么出錯呢?
下一篇:sqlplus 開發問題
