MySQL:根据原始表中的数据创建具有频率的新表

时间:2013-11-20 10:58:51

标签: mysql select distinct create-table

kernel中有两个重要字段propertymydata

我想创建一个新表 myresults,其列rightTwoKernelSymbolspropertyfrequency仅基于mydata表所以,它显示kernel列中右边两个字母的频率。 (属性值应相等,否则另行计算)

所以,使用另一个词: 这是'mydata'表。我通过在每个单元格中只留下两个右符号来修改'内核'列。 使用此表,我想计算不同的对(内核,属性)并将数据保存到myresults表中。

示例:

mydata表

czzzaa - 123
abc80 - 123
aaaaaaaa - 123
zz5 - 123
abc80 - 456

修改表

aa - 123
80 - 123
aa - 123
z5 - 123
80 - 456

myresults表

aa - 123 - 2 // czzzaa and aaaaaaaa - total two times (123 is the same)
80 - 123 - 1
z5 - 123 - 1
80 - 456 - 1 //we don't count abc80 and abc80 together, because 123 is different from 456

1 个答案:

答案 0 :(得分:0)

好的,这是我对自己问题的回答。如果有任何未提及的陷阱,请告诉我。

CREATE TABLE results AS SELECT right(kernel, 2) as two , property, COUNT(*) as count FROM mydata GROUP BY two, property ORDER BY count DESC;