在 table 和 sql 命令中只有 return 个奇数记录

only return records with odd count in a table with sql command

我的 Access 数据库中有一个仓库 table,如下所示:

   product_id
       10
       20
       20
       30
       30
       30
       40
       40
       40
       40

现在我需要 SQL 查询 return 10, 30
product_id 个在 table 中有奇数个数。

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

此查询 return 是每个值的计数,但我如何将其编辑为只有 return 行奇数 cnt

您可以将 having 子句与 mod 运算符一起使用:

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

这是我的解决方案,还有更好的方法吗?