Informix:计数具有特定值的记录数?

问题描述:

我有这样的表格:PARTIDO,SUBLEMA,LISTA,REGISTRO_DE_VOTOS。Informix:计数具有特定值的记录数?

有了这个内部联接声明:

SELECT partido.id_partido, sublema.id_sublema,lista.numero_lista 
FROM partido INNER JOIN sublema ON 
    partido.id_partido=sublema.id_partido INNER JOIN 
    lista ON sublema.id_sublema=lista.id_sublema INNER JOIN 
     registro_de_votos ON lista.numero_lista=registro_de_votos.numero_lista 

我得到了以下结果:

id_partido | id_sublema| numero_lista 
-------------------------------------- 
2   | 2   | 222 
1   | 1   | 111 
1   | 1   | 111 
2   | 2   | 222 
2   | 2   | 222 
1   | 1   | 111 
2   | 2   | 222 
2   | 2   | 222 
1   | 1   | 111 
2   | 2   | 222 
3   | 3   | 333 

有没有办法来算,每id_partido记录?所以,我能得到somthig这样的:

id_partido | count 
------------------- 
1   | 4  
2   | 5  
3   | 1 

不知道该列id_partido的价值。可以通过任何数字。

是:

SELECT partido.id_partido, COUNT(sublema.id_sublema) 
FROM partido INNER JOIN sublema ON 
partido.id_partido=sublema.id_partido INNER JOIN 
lista ON sublema.id_sublema=lista.id_sublema INNER JOIN 
    registro_de_votos ON lista.numero_lista=registro_de_votos.numero_lista 
GROUP BY partido.id_partido 

GROUP BY条款捆绑所有的元素具有相同id_partido然后COUNT()功能计数多少id_sublema每个id_partido

如果我使用“选择党。 id_partido,COUNT(sublema.id_sublema)as cantidad ...“,然后是”... ORDER BY cantidad DESC“我在顶部获得了更多记录。我怎么只能得到他们的第一个?

您可以使用TOP 1

SELECT TOP 1 partido.id_partido, COUNT(sublema.id_sublema) 
... 
+0

太感谢你了!。如果我使用“SELECT partido.id_partido,COUNT(sublema.id_sublema)作为cantidad ...”,然后是“... ORDER BY cantidad DESC”,我得到了顶部有更多记录的那个。我怎么只能得到他们的第一个? – 2014-10-08 19:17:11

+0

它的工作,但我改变了第一的TOP。再次感谢你。 – 2014-10-08 19:22:35

+0

不客气,欢迎来到SO。 – SnareChops 2014-10-08 19:29:50