【发布时间】:2012-11-03 05:15:10
【问题描述】:
我有一个奇怪的(可能是糟糕的表格设计)查询问题,我想不出一个简单的方法来解决。
这是一个和我一样的表格布局:
| id | int(11) | NO | PRI | NULL | auto_increment |
| num | varchar(15) | YES | MUL | NULL | |
| type | varchar(4) | YES | | NULL | |
type 其实是 enum("val1","val2","blah")
num 表中可以有 3 个条目,每个条目对应 3 种不同的类型。
我需要的查询是具有“val1”和“val2”条目的不同数量的“num”的计数。
我认为没有一个简单的查询可以处理这个问题。但我想出的唯一解决方案是将 val1 的不同条目转储到内存表中,将 val2 的不同条目转储到内存表中。
然后确定哪个表的记录数最少。然后根据较小的表编写一个子查询,在较大的表中查找数量匹配。
虽然上面的内容听起来很糟糕......
我在这里遗漏了什么...你们有没有找到更好的方法来做到这一点?
【问题讨论】:
标签: mysql