0

我有带有模态 V1、V2、V3、V4 和其他变量调用的变量版本表,它可以是 1 或 0。我需要做的是计算 1 的频率到每个模态的总行数版本:对于 V1 的 ex,我有 6 行调用等于 1,全局有 13 行,我需要创建变量 freq 来指示 6/13。我现在要做的是创建 2 个表:第一个表的行数等于每个调用 1

version Version Call=1 
             V1      6
             V2      4
             V3      8
             V4      3

第二个表格是每个版本的总行数

   Version Call total
     V1      13
     V2      14
     V3      15
     V4      23

然后我加入这两个表并计算频率。我想问是否没有其他方法可以做到这一点?

这是我的代码:

create table Call1 select *, count(*) as call1 from Version where call like '1'group by Version;
create table Calltotal select *, count(*) as calltot from Version group by Version;
update Calltotal change Version Version1 VARCHAR(2);
alter table Call1 add index (Version);
alter table Calltot add index(Version1);
create table final select * from Call1 left join Calltot on Call1.version=Calltot.version1;
alter table final add frequency INT NOT NULL;
update final set frequency=call1/Calltot;
4

1 回答 1

1

一个指针...

SELECT thing
     , COUNT(CASE WHEN other_thing = 10 THEN 'foo' END) x 
     , COUNT(*) y  
  FROM my_table 
 GROUP 
    BY thing;
于 2013-01-28T15:52:05.200 回答