2011-10-27 24 views
0

私は統計的な目的のためにテーブル内の特定のグループに属する番号を照会する方法を理解しようとしています。テーブル内の行の列一致をクエリする方法はありますか?

問題の表は、このです:

create table MEMBER 
    ( id  int   not null, 
    name  varchar(10), 
    bdate  date, 
    sex  char, 
    pc_id  int   not null, 
    PRIMARY KEY (mid), 
    FOREIGN KEY (pc_id) REFERENCES PLEDGECLASS(id)) 

私はすべての行をチェックし、共通pc_idsの数とそれらの対応するpc_idsを返すクエリを思い付くしたいです。例えば

、テーブルのメンバーは、次のデータが含まれている場合:

{1,'jon',02091985,'M',02 
2,'don',03091985,'M',03 
3,'kon',03091985,'M',02 
4,'tron',03091985,'M',03) 

を私は次のように返されるのでしょう:

count  pc_id 
2   02 
2   03 

私は同じテーブルのうちの2つを比較しなければならなかった考え出しそれを理解するためには、それは私のためにはうまくいかなかった。

Select count(p.pc_id), P.pc_id 
From MEMBER p, MEMBER x 
Where p.pc_id=x.pc_id AND NOT p.name = x.name; 

私のカウントは明らかに間違っていますが、解決方法はわかりません。

答えて

1

GROUP BY

Select count(p.pc_id), p.pc_id 
From MEMBER p 
Group By p.pc_id 
+0

は完全に働いたトリックを行います!ありがとう!私はそれを考えなかったとは思えない – Jonathan

関連する問題