Sql 多分组查询

Sql 多分组查询,sql,postgresql,Sql,Postgresql,我有下表(id、l_id、f_id、状态)。我想写一个查询,结果应该是 count | l_id | f_id | --------------------- 20 | l1 | f1 ---------------------- 32 | l1 | f2 ---------------------- 4 | l2 | f1 i、 我想得到每个特定l_id的f_id的计数。如果我只需要找到没有l_id的f_id的计数,我可以写一些东西 选择

我有下表(id、l_id、f_id、状态)。我想写一个查询,结果应该是

count  |  l_id | f_id |
---------------------
20     | l1    | f1   
----------------------
32     | l1    | f2
----------------------
4      | l2    | f1
i、 我想得到每个特定l_id的f_id的计数。如果我只需要找到没有l_id的f_id的计数,我可以写一些东西

选择count(*),按f_id从表组中选择f_id
,但如何进一步增强以根据l_id拆分计数

从编程的角度来说,我想首先执行一个查询,该查询使用l_id从表中获取数据,然后针对每个l_id运行查询


选择count(*),f_id,其中l_id=按f_id分组
,但我必须执行多个查询。我想知道是否可以在一个查询中实现这一点,
groupby
语法支持多个列,因此非常简单:

select count(*), l_id, f_id
  from table
 group by l_id, f_id

根据这一要求:

我想得到每个特定l_id的f_id计数

您需要隔离您的l_id,然后对f_id进行计数:

SELECT a.l_id, count(f_id)
   FROM (SELECT l_id
        FROM table
        GROUP BY l_id) a
INNER JOIN table b ON (a.id = b.id)
GROUP BY a.l_id

除非l_id已经是唯一的,否则此查询将不会返回正确的计数。您知道。。。这一点我完全错了。。。不知道我之前看到了什么。关于重复的f_id。你不认为@sstan写的是准确的吗?你知道。。。别听我说。这是漫长的一天,我在这一点上错了。如果你在寻找一些独特的记录,那么yes@sstan绝对正确。我在看记录计数,这是一个不同的话题。如果您认为可能有重复的f_id行,并且希望计算每个l_id的实际记录数,那么我的查询就可以了。每个l_id可以有多个f_id。表也可以有多个l_id。sstan查询正在返回我需要的内容,但我尚未使用大量数据对其进行测试。查询的另一个问题是,查询不返回f_id值。。。除了身份证数量我还需要知道