我有一个带有变量版本的表,其中包含模态 V1、V2、V3、V4 和其他变量调用,它可以是 1 或 0。我需要做的是计算 1 到总行数的频率对于版本的每种形式:例如,对于 V1,我有 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;
最佳答案
指针...
SELECT thing
, COUNT(CASE WHEN other_thing = 10 THEN 'foo' END) x
, COUNT(*) y
FROM my_table
GROUP
BY thing;
关于mysql - 计算频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14565589/