// 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 
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐