使用 sql 命令只返回表中奇数的记录
Posted
技术标签:
【中文标题】使用 sql 命令只返回表中奇数的记录【英文标题】:only return records with odd count in a table with sql command 【发布时间】:2015-02-08 19:06:46 【问题描述】:我的 Access 数据库中有一个仓库表,如下所示:
product_id
10
20
20
30
30
30
40
40
40
40
现在我需要一个 SQL 查询来返回 10, 30 product_id
s 在表中有奇数。
SELECT product_id, Count(product_id) AS cnt
FROM warehouse
GROUP BY product_id;
此查询返回每个值的计数,但我如何编辑它以仅返回奇数 cnt
的行?
【问题讨论】:
【参考方案1】:您可以将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;
这是我的解决方案,有没有更好的方法?
【讨论】:
以上是关于使用 sql 命令只返回表中奇数的记录的主要内容,如果未能解决你的问题,请参考以下文章