oracle sql查询最近30天内的数据,查询结果更新字段,行转列
// oracle sql查询最近30天内的数据SELECTt.*FROM表名 tWHEREt.CREATE_TIME BETWEEN to_date ( to_char ( sysdate, 'yyyy-mm-dd' ), 'yyyy-mm-dd' ) - 30AND to_date ( to_char ( sysdate, 'yyyy-mm-dd' ), 'yyyy-mm-dd' ) +1OR
·
// oracle sql查询最近30天内的数据
SELECT
t.*
FROM
表名 t
WHERE
t.CREATE_TIME BETWEEN to_date ( to_char ( sysdate, 'yyyy-mm-dd' ), 'yyyy-mm-dd' ) - 30
AND to_date ( to_char ( sysdate, 'yyyy-mm-dd' ), 'yyyy-mm-dd' ) +1
ORDER BY
t.CREATE_TIME DESC
// Oracle 查询结果更新数据
update SPARE_REPAIR_DETAIL a
set ITEM_DESC=(select b.ITEM_DESC from MES_ITEM_TYPE b where b.ITEM_NO=a.ITEM_NO)
where exists (select 1 from MES_ITEM_TYPE b where b.ITEM_NO=a.ITEM_NO);
// oracle 行转列
SELECT
*
FROM
(
SELECT
d.*,
row_number ( ) over ( PARTITION BY d.biz_form_id ORDER BY d.create_time DESC ) rn
FROM
(
SELECT
s.biz_form_id,
s.create_time,
listagg ( s.user_name, ',' ) within GROUP ( ORDER BY s.biz_form_id DESC, s.create_time ASC ) CONCAT
FROM
MES_DEVICE_MAINTWORKER s
WHERE
s.biz_form_key = 'repair'
GROUP BY
s.biz_form_id,
s.create_time
) d
) dd
WHERE
dd.rn = 1
// 多行排序取一行
SELECT t1.* FROM (
SELECT
tr.trail_id,
tr.biz_form_id,
tr.trail_number,
tr.main_opinion,
tr.node_name,
row_number ( ) over ( PARTITION BY tr.biz_form_id ORDER BY tr.create_time DESC ) rn
FROM
mes_device_manage_trail tr
) t1
WHERE
t1.rn = 1
更多推荐
已为社区贡献1条内容
所有评论(0)