2014-10-08 71 views
0

我有這樣的表格: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的價值。可以通過任何數字。

回答

0

是:

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