【发布时间】:2011-02-23 14:28:04
【问题描述】:
我有两个查询,我只需要总记录数,但查询的唯一区别是一个字段值。
示例;
SELECT COUNT(*) AS group_a
FROM tbl
WHERE category = 'value_a'
SELECT COUNT(*) AS group_b
FROM tbl
WHERE category = 'value_b'
我怎样才能得到这样的东西:(伪)
SELECT COUNT(*) AS group_a, COUNT(*) AS group_b
FROM tbl
WHERE category IN ('value_a', 'value_b')
但是结果是这样的
group_a , group_b
56, 101
我正在考虑在查询中使用 CASE 语句来过滤这两者,但我该如何实现呢?还是有更好的方法?
我现在正在做一个 UNION,但想知道我是否可以返回一个包含两个结果的记录
【问题讨论】:
标签: sql postgresql logic