Mysql 反复浏览一列并总结结果

Mysql 反复浏览一列并总结结果,mysql,Mysql,我在mySQL中有一个表(t1),它生成以下表: type time full 0 11 yes 1 22 yes 0 11 no 3 13 no 我想在此基础上创建第二个表(t2),该表将汇总t1中的信息,如下所示: type time num_full total 0 11 1 2 1 22 1

我在mySQL中有一个表(t1),它生成以下表:

type    time    full
0       11      yes
1       22      yes
0       11      no
3       13      no
我想在此基础上创建第二个表(t2),该表将汇总t1中的信息,如下所示:

type    time    num_full   total
0       11      1          2
1       22      1          1
3       13      0          1
我希望能够遍历type列,以便能够开始这个摘要,类似于for循环。这些类型最多可以有n个值,因此我不希望编写n+1
WHERE
语句,然后每次添加更多类型时都必须更新代码

注意t2是如何跳过值2的类型的吗?当我尝试循环时,这也一直在逃避我。我只希望找到的类型具有在t2中创建的行


虽然直接回答会很好,但如果能找到一些我能找到答案的来源,或者两者都能找到,会更有帮助。

这可能会满足你的需要

create table t2 if not exists select type, time, sum(full) num_full, count(*) count
from t1 
group by type,time
order by type,time;
这取决于您希望聚合时间列的方式

这是分组功能的参考起点:
这里是创建语法的地方

注意:如果“full”列不是bool(TinyInt),则可以在SUM函数中使用case语句,例如,如果“full”是字符串“yes”/“no”值,则可以使用SUM(当full='yes'时,case为0 END)SUM(当full='yes'时,case为1,否则为0 END)