mysql - 从具有不同键值的mysql中选择
问题描述
我想写一些查询给我具有特定键值的产品
tbl_product
product_id field_id value
1 1 100
1 2 200
我想找到所有具有 (field_id = 1 and value = 100) 和 (field_id = 2 and value = 200) 的产品
解决方案
您可以使用where
、group by
和having
:
select product_id
from t
where (field_id = 1 and value = 100) or (field_id = 2 and value = 200 )
group by product_id
having count(*) = 2;
如果允许重复,那么您需要count(distinct field_id) = 2
.
推荐阅读
- c - C - 用随机整数填充二维数组
- android - 如何检查 SwitchPreference 的当前状态?
- r - 在 R/dplyr 中,当使用 'pivot_wide' 重塑数据框时,如何将数字与重塑过程相加
- android - 在 MaterialToolbar 中更改 navigationIcon 的大小
- pytorch - 在pytorch中,方括号索引和“index_select”有什么区别?
- salesforce - 案例分配规则公式
- mysql - 如何在 mysql 中查询 JSON 映射?
- hive - 无法在 presto 中从 Avro 表中选择数据
- javascript - 如何在 Monaco Editor 中更改建议的设计
- laravel - Laravel 表问题