gpt4 book ai didi

基于非唯一列的mysql不同查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:57 28 4
gpt4 key购买 nike

我有一个奇怪的(可能是糟糕的表设计)查询问题,我想不出一个简单的方法来解决。

这是我的表格布局:

| 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 的不同条目转储到内存表。

然后确定哪个表的记录数最少。然后根据较小的表编写一个子查询,在较大的表中查找数字匹配项。

虽然上面的内容听起来很糟糕......

我是不是遗漏了什么...你们有没有更好的方法来做到这一点?

最佳答案

select count(*)
from `MyTable`
where `type` in ('val1', 'val2')
group by `num`
having count(distinct `type`) = 2

关于基于非唯一列的mysql不同查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203117/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com