2015-02-08 44 views
3

我有一個倉庫表在我的Access數據庫,看起來像這樣返回與奇數記錄在表:只有SQL命令

product_id 
     10 
     20 
     20 
     30 
     30 
     30 
     40 
     40 
     40 
     40 

現在我需要一個SQL查詢返回10,30
product_id在桌上有奇數。

SELECT product_id, Count(product_id) AS cnt 
FROM warehouse 
GROUP BY product_id; 

該查詢返回的每個值的計數,但我怎麼可以編輯只與奇cnt返回行?

回答

4

你可以使用一個having條款與mod操作:

SELECT product_id, COUNT(product_id) AS cnt 
FROM  warehouse 
GROUP BY product_id 
HAVING COUNT(product_id) MOD 2 = 1; 
2
SELECT * 
FROM (SELECT product.id, count(product.id) AS cnt FROM warehouse GROUP BY product.id) 
WHERE (cnt - (Round(cnt/2.0))*2) <> 0; 

這是我的解決方案,有沒有更好的辦法?