我有一个产品 ID 列表,我想找出哪些订单包含所有这些产品。Orders 表的结构如下:
order_id | product_id
----------------------
1 | 222
1 | 555
2 | 333
显然,我可以通过 PHP 中的一些循环来做到这一点,但我想知道是否有一种优雅的方法可以纯粹在 mysql 中做到这一点。我理想的幻想查询是这样的:
SELECT order_id
FROM orders
WHERE (222,555) IN GROUP_CONCAT(product_id)
GROUP BY order_id
有没有希望或者我应该去读托尔金?:) 另外,出于好奇,如果在 mysql 中不可能,是否还有其他数据库具有此功能?