2014-10-03 91 views
-2

我正在尋找一個查詢來知道一個字段的值在選擇中重複了多少次?MySQL計數複雜的查詢結果

我證明了:
$ queryIds =「select id,idpol,count(idpol)as qid from table WHERE id IN($ idafectades)group by idpol」;

但是我正在尋找類似:

ID,idpol,count_idpol 1000(次數,每個idpol的值出現在組行中)
1,1000,3
2, 3
3,1002,1
4,1003,2
5,1003,2
6,1000,3

由於

+0

您希望使用'over'語法窗口分區。 – xQbert 2014-10-03 17:15:30

+0

@xQbert不在MySQL中。 – Taryn 2014-10-03 17:21:54

+0

顯然不是:http://dba.stackexchange.com/questions/40130/mysql-and-window-functions – xQbert 2014-10-03 17:27:56

回答

0

這是一種不使用窗口集的方法。生成一組包含由IDPOL分組的計數的數據,然後將其加回到每個ID和IDpol的基本集合中。

SELECT foo.id, foo.idpol, B.cnt 
FROM foo 
INNER JOIN (SELECT count(*) cnt, IdPOL FROM Foo GROUP BY IDPOL) B 
on Foo.IDPOL = B.IDPOL 

SQL Fiddle