【发布时间】:2018-03-25 18:59:41
【问题描述】:
我的数据库中有一个表,其中有一个 VARRAY。 VARRAY 大小为 4788
CREATE OR REPLACE TYPE numbers AS VARRAY(4788) of NUMBER;
CREATE TABLE table1
(
id NUMBER(5) NOT NULL,
notes VARCHAR2(150),
person_id NUMBER(5),
visit_id NUMBER(5) NOT NULL,
device_id NUMBER(5),
vals numbers,
CONSTRAINT PK_table1 PRIMARY KEY (id)
);
我想知道如何一次迭代第 1 列(表中有 637 行,每行的 VARRAY 大小为 4788。我试图做一些统计数据以从整个数据中获取 Cohens D 的值数据集。 基本上我想说的是……
M_1 是通过取第 1-300 行中第 1 列的值的平均值来计算的。 M_2 是通过从第 301-337 行获取第 1 列值的平均值计算得出的)。然后,我们减去 M_1 - M_2,然后将该值除以第 1 列中第 1-637 行的所有值的标准差。我想对所有 4788 列重复此操作。
另外,也欢迎提出改进建议。
任何帮助将不胜感激。
【问题讨论】:
-
为什么要使用 VARRAY?如果 val 在子表中每行存储 1 个,那么这个计算将是小菜一碟!
-
嘿@TonyAndrews。感谢那!生病检查它。来自 c++ 背景,我的思绪直接进入了数组。所以,我会在 table1 表中创建一个子表。那么对于 table1 中的每个元组,它都会有一个包含 4788 行的后续子表?
-
@user6315807 。不,这不是托尼的意思。这里的子表是指另一个具有外键关系的数据库表。