0
我有一個查詢,我想優化。我確信這個查詢可以改進。mysql鏈接表+加入+數
查詢的結果應該返回具有filter_id 22和2並且顯示'yes'的產品的數量。
SELECT COUNT(product_id) AS Total
FROM kkx_filters_products
LEFT JOIN kkx_products ON product_id = kkx_products.id
WHERE filter_id IN (2,22)
AND kkx_products.display = 'yes'
GROUP BY product_id
HAVING count(product_id) = 2
上述查詢返回每個記錄10230與外地達爾和值2
我想一個結果與現場總與價值10230.
我已經包含的結構查詢中使用的表。
EXPLAIN kkx_filters;
Field Type Null Key Default Extra
id int(11) unsigned NO PRI NULL auto_increment
name varchar(50) NO
EXPLAIN kkx_filters_products;
Field Type Null Key Default Extra
filter_id int(11) NO PRI 0
product_id int(11) NO PRI 0
EXPLAIN kkx_products;
Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
title varchar(255) NO
display enum('yes','no') NO yes
'...作爲行的計數...一個結果與結果'...呵呵? – 2012-01-17 14:47:05
*「應該返回具有filter_id 22 **和** 2的產品的數量」*但「HAVING count(product_id)= 1」表示22 **或** 2.這是什麼原因? – 2012-01-17 14:51:03
抱歉,由於缺乏清晰度,我更清楚地闡述了我的問題 – 2012-01-17 21:14:47