我有一个表格,我需要提取一些信息。这个表有一个oracle spatial (MDSYS。SDO_GEOMETRY)列,从中我也需要一些数据。
我从一个简单的查询开始,如下所示:
select id, field1, field2
FROM my_table;
在那之后,我能够循环结果以提取空间列中的数据:
SELECT *
FROM TABLE (SELECT a.POSITIONMAP.sdo_ordinates
FROM my_table
WHERE ID = 18742084);
位置图。sdo_
100050,887
407294,948
0,577464740471056
-0,816415625470689
我需要最后2个值。我可以通过将查询更改为以下内容来实现:
SELECT * FROM
(SELECT rownum AS num,
column_value AS orientatie
FROM TABLE (SELECT a.POSITIONMAP.sdo_ordinates
FROM my_table
WHERE ID = 18742084))
WHERE num IN (3,4)
在第一次查询的每一行上循环以从POSITIONMAP列中提取数据当然不是很好的性能友好,因此我的查询很快就会变慢。
我想在一个查询中检索所有信息,但有一些事情阻止我这样做。
我得到的最接近的是:
select
id,
field1,
field2
t.*
FROM my_table v,
table (v.POSITIONMAP.sdo_ordinates) t
这为my_table中的每一行提供了4行。一旦我尝试将rownum条件放入此查询中,我就收到一个错误:“无效的user.table.column,table.column或列规范”
有没有办法将我想做的事情合并到1个查询中?
一种方法是使用< code>ROW_NUMBER()分析函数:
SELECT *
FROM (
select id,
field1,
field2,
t.*,
ROW_NUMBER() OVER ( PARTITION BY v.id ORDER BY ROWNUM ) AS rn
FROM my_table v,
TABLE( v.POSITIONMAP.sdo_ordinates ) t
)
WHERE rn IN ( 3, 4 )
您可以按如下方式使用sdo_util.getvertices:
select t.x,t.y
from my_table mt
,table(sdo_util.getvertices(mt.positionmap)) t
where t.id = 2
我假设您的几何是线(gtype=2002)和点(gtype=2001)。如果您想要线的X、Y值和点的空值,您可以过滤几何对象的sdo_gtype属性。
select t.x,t.y
from my_table mt
,table(sdo_util.getvertices(mt.positionmap)) t
where t.id = 2
and mt.positionmap.sdo_gtype=2002
union all
select null as X,
null as Y
from my_table mt
where mt.positionmap.sdo_gtype=2001
问题内容: 我有一个包含6列的R数据框,并且我想创建一个仅包含三列的新数据框。 假设我的数据帧df,我想提列A,B和E,这是唯一的命令,我可以计算出: 有没有更紧凑的方法可以做到这一点? 问题答案: 如果您的data.frame被调用,则使用dplyr包df1: 也可以在不使用%>%管道的情况下将其写为:
问题内容: 我想从具有存储为clob的XML列为testclob的表TRAPTABCLOB中使用sql提取Decision的值。 样本XML如下。 问题答案: 尝试 这是一个sqlfiddle演示
我试图从包含列表的json中提取一个字段,然后将该列表附加到数据帧中,但遇到了一些不同的错误。 我想我可以将其写入csv,然后用Pandas读取csv,但我尽量避免写入任何文件。我知道我也可以使用StringIO生成csv,但这存在空字节问题。替换这些将是(我认为)另一个逐行的步骤,这将进一步延长脚本完成所需的时间。。。我正在对一个返回成千上万个结果的查询运行此操作,因此保持它的快速和简单是一个优
我有一个从甲骨文获取数据并上传到谷歌云存储的需求。 我正在使用executeSql proecssor,但是对于大表来说它是失败的,甚至对于有大约45MB大小的100万条记录的表来说,它需要花费2小时来提取。 使用restapi将表名传递给listenHttp,Listenhtp将表名传递给ExecutesQL。我不能使用QueryDatabase,因为表的数量是动态的,启动获取的调用也是动态的,
如何从CSV文件中提取列? 我对Java有点陌生。你如何从csv文件中提取特定列。例如,如果我有这个数据: 如何提取第一列和第三列?我能够读取整个CSV文件,但我想从中提取特定的列。
问题内容: 我知道它是一个数组,但是我对JSON完全陌生,需要帮助理解它的结构,这是我提取数据的尝试: 我拥有的JSON数据如下所示: 我对这些东西的掌握并不强,因此感谢所有帮助。 问题答案: 这是个主意: 它应该可以工作(如果有编译错误,请随时投诉)