sid*_*v29 2 java mysql hibernate
MySQL表看起来像
product_id material
----------------------
1 A
1 B
1 C
2 A
2 B
3 A
3 B
3 C
3 D
4 A
4 B
4 D
Run Code Online (Sandbox Code Playgroud)
我想要所有那些有材料A,B,C的product_id
因此输出应为1,3
使用group by似乎合适,但如何传递多个材料进行匹配.
要匹配的材料数量可以变化,即第一个查询可能是材料A,B,C
输出:1,3
和第二个查询可能是材料A,D
输出:3,4
我应该在java程序中用Hibernate编写什么查询,以及mysql查询?
询问
SELECT product_id
FROM products
WHERE material IN ('A', 'B', 'C')
GROUP BY product_id
HAVING COUNT(DISTINCT material) = 3;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |