Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql iscover关系比偶然更常见,但出乎意料(在本例中,假设大量膳食是由打字机旁的猴子制作的),这确实是一个很好的信息。我认为OP想要使用像corr()这样的函数的原因是,他可以将它应用于整个数据集,而不仅仅是一个成分。@James Oh;事实上,这是一个非_Sql_Oracle_Statistics - Fatal编程技术网

Sql iscover关系比偶然更常见,但出乎意料(在本例中,假设大量膳食是由打字机旁的猴子制作的),这确实是一个很好的信息。我认为OP想要使用像corr()这样的函数的原因是,他可以将它应用于整个数据集,而不仅仅是一个成分。@James Oh;事实上,这是一个非

Sql iscover关系比偶然更常见,但出乎意料(在本例中,假设大量膳食是由打字机旁的猴子制作的),这确实是一个很好的信息。我认为OP想要使用像corr()这样的函数的原因是,他可以将它应用于整个数据集,而不仅仅是一个成分。@James Oh;事实上,这是一个非,sql,oracle,statistics,Sql,Oracle,Statistics,iscover关系比偶然更常见,但出乎意料(在本例中,假设大量膳食是由打字机旁的猴子制作的),这确实是一个很好的信息。我认为OP想要使用像corr()这样的函数的原因是,他可以将它应用于整个数据集,而不仅仅是一个成分。@James Oh;事实上,这是一个非常好的观点。概括我的“奶酪”表,使其不必称为“奶酪”,这将是一个有趣的练习,但我将等待OP的消息。是的,我计划让它在整个数据集上运行。@owook我提取了奶酪;最后一个查询应该为您提供可以使用任何统计方法的信息。我给出了一个简单的计分机制,但你


iscover关系比偶然更常见,但出乎意料(在本例中,假设大量膳食是由打字机旁的猴子制作的),这确实是一个很好的信息。我认为OP想要使用像corr()这样的函数的原因是,他可以将它应用于整个数据集,而不仅仅是一个成分。@James Oh;事实上,这是一个非常好的观点。概括我的“奶酪”表,使其不必称为“奶酪”,这将是一个有趣的练习,但我将等待OP的消息。是的,我计划让它在整个数据集上运行。@owook我提取了奶酪;最后一个查询应该为您提供可以使用任何统计方法的信息。我给出了一个简单的计分机制,但你应该使用最适合你的方法。一本好的读物可能是当你在考虑如何对这些对进行排序时。
MEAL_NUM  INGREDIENT
--------------------
1         BEEF
1         CHEESE
1         PASTA
2         CHEESE
2         PASTA
2         FISH
3         CHEESE
3         CHICKEN
select t1.INGREDIENT, count(*)a 
from table t1,
     (select meal_num 
      from table 
      where INGREDIENT = 'CHEESE') t2
where t1.INGREDIENT <> 'CHEESE'
and t1.meal_num=t2.mealnum
group by t1.INGREDIENT;
SELECT Other.Ingredient, 
       COUNT(*) AS TotalMeals, 
       COUNT(Cheese.Ingredient) AS CheesyMeals
     FROM table Other
LEFT JOIN table Cheese
      ON (Cheese.Ingredient = 'Cheese' 
      AND Cheese.Meal_Num = Other.Meal_Num)
GROUP BY Other.Ingredient
SELECT First.Ingredient, 
       Second.Ingredient, 
       COUNT(*) AS MealsWithFirst, 
       COUNT(First.Ingredient) AS MealsWithBoth,
       COUNT(First.Ingredient) / (COUNT(*) + 3) AS PossibleScore,
     FROM table First
LEFT JOIN table Second
      ON (First.Meal_Num = Second.Meal_Num)
GROUP BY First.Ingredient, Second.Ingredient
PASTA    CHEESE    2    2    0.400
CHEESE   PASTA     3    2    0.333
BEEF     CHEESE    1    1    0.250
BEEF     PASTA     1    1    0.250
FISH     CHEESE    1    1    0.250
FISH     PASTA     1    1    0.250
CHICKEN  CHEESE    1    1    0.250
PASTA    BEEF      2    1    0.200
PASTA    FISH      2    1    0.200
CHEESE   BEEF      3    1    0.167
CHEESE   FISH      3    1    0.167
CHEESE   CHICKEN   3    1    0.167
SELECT t1.INGREDIENT, t2.INGREDIENT, CORR(t1.MEAL_NUM, t2.MEAL_NUM)
FROM TheTable t1, TheTable t2
WHERE t1.INGREDIENT < t2.INGREDIENT
GROUP BY t1.INGREDIENT, t2.INGREDIENT
BEEF    CHEESE  0.999
BEEF    PASTA   0.998
CHEESE  PASTA   0.977
--Create sample data
create table meals(meal_num number, ingredient varchar2(10));

insert into meals
select 1, 'BEEF' from dual union all
select 1, 'CHEESE' from dual union all
select 1, 'PASTA' from dual union all
select 2, 'CHEESE' from dual union all
select 2, 'PASTA' from dual union all
select 2, 'FISH' from dual union all
select 3, 'CHEESE' from dual union all
select 3, 'CHICKEN' from dual;

commit;

--Create nested table type to hold results
CREATE OR REPLACE TYPE fi_varchar_nt AS TABLE OF VARCHAR2(10);
/

--Find the items most frequently combined with CHEESE.
select bt.setid, nt.column_value, support occurances_of_itemset
    ,length, total_tranx
from
(
    select
        cast(itemset as fi_varchar_nt) itemset, rownum setid
        ,support, length, total_tranx
    from table(dbms_frequent_itemset.fi_transactional(
        tranx_cursor => cursor(select meal_num, ingredient from meals),
        support_threshold => 0,
        itemset_length_min => 2,
        itemset_length_max => 2,
        including_items => cursor(select 'CHEESE' from dual),
        excluding_items => null))
) bt,
table(bt.itemset) nt
where column_value <> 'CHEESE'
order by 3 desc;


     SETID COLUMN_VAL OCCURANCES_OF_ITEMSET     LENGTH TOTAL_TRANX
---------- ---------- --------------------- ---------- -----------
         4 PASTA                          2          2           3
         3 FISH                           1          2           3
         1 BEEF                           1          2           3
         2 CHICKEN                        1          2           3