私は次のようなテーブルを持っています
products product_attributes
================== ========================================
| id | name | | id | product_id | attribute | value |
================== ========================================
| 1 | product 1 | | 1 | 1 | min | 2 |
| 2 | product 2 | | 2 | 1 | max | 5 |
| 3 | product 3 | | 3 | 2 | min | 10 |
| 3 | product 3 | | 4 | 2 | max | 15 |
| .. | ... | | 5 | 3 | min | 1 |
================== | 6 | 3 | max | 100 |
| .. | ... | ... | ... |
========================================
範囲内にあるすべての製品を取得したい
SELECT p.id
FROM `products` p INNER JOIN `product_attributes` AS pa ON p.id = pa.product_id
WHERE pa.`min` <= 5 AND pa.`max` >= 5 GROUP BY p.id
これにより、必要な ID のリストが表示されます。私が仕事をすることができないのは、リストの代わりにIDのTOTALカウントを取得することです。そのため、グループを使用できず、それを行うとカウントが台無しになります。
これを行う唯一の方法は、上記の選択をサブ選択で使用し、結果を数えることですか?
ありがとう