2016-07-25 5 views
0

私は以下のようなテーブルを持っています。私は重複していないIDのカウントをしようとしています。私は別個のカウントを意味しません。区別できるカウントは7(a、b、c、d、e、f、g)の結果を返します。私はそれが4(a、c、d、f)のカウントを返すようにしたい。これらは、複数のタイプコードを持たないIDです。私は次のクエリを試してみましたが、カウントが0になっています(結果は数百万になるはずです)。重複しない行数をカウントするためのSQLクエリの作成を助けます(別個のカウントではありません)

select ID, count (ID) as number 
from table 
group by ID 
having count (ID) = 1 

Select count (distinct ID) 
From table 
Having count (ID) = 1 

ID|type code 
a|111 
b|222 
b|333 
c|444 
d|222 
e|111 
e|333 
e|555 
f|444 
g|333 
g|444 

@scaisEdgeのおかげで!あなたが提供した最初のクエリは、上記の質問で私が探しているものを正確に教えてくれました。これで、私の指導者は、1つのタイプコード内にIDが何回あるかを数えて表示することをさらに進めることを要求していることが分かりました。 1 222 | | 1 444 | 111を数える|たとえば、私たちは

型コードを見てみたい2

444のシングルタイプコード持っているIDの2件のインスタンスがあります(Cは、F) 111(a)と222(d)という1つのタイプコードを持つIDのインスタンスが1つ存在します。私は(のようなクエリを変更しようとしましたが、回数を持つCONT_ID によって imdmadmp.contequiv グループから( 選択CONT_IDからクエリを実行している

SELECT COUNT(admin_sys_tp_cd)数 などのエラーに出くわすされていますadmin_sys_tp_cd

答えて

1

による*)= 1)T グループあなたは、ID

をしたい場合はカウントは

select count(*) from (
    select id from 
    my_table 
    group by id 
    having count(*) =1 
) t 

だろうしたい場合あなたは一時テーブルにループを行い、この程度

select id from 
    my_table 
    group by id 
    having count(*) =1 
+0

COUNT(*)とCOUNT(ID)の間で異なるとは何ですか?あなたが私に頼む気にならないかどうか説明できますか? – AVK

+0

ほとんど同じですが、IDがnullの場合にのみカウントされません。 – Kostya

+1

@AVKNaiduこのリンクは、https://www.percona.com/blog/2007/04/10/count-vs-countcol/ ..本質的にcount(*)の条件を満たす行の数をカウントするのに役立ちます(ID)は、条件を満たすid(nullでない)の行をmberに数えます。 – scaisEdge

-2

侯?:

select 
* 
into #control 
from tablename 

declare @acum as int 
declare @code as char(3) 
declare @id as char(1) 
declare @id2 as int 
select @acum=0 
while exists (select* from #control) 
begin 
    select @code = (select top 1 code from #control order by id) 
    select @id = (select top 1 id from #control order by id) 
    select @id2 =count(id) from #control where id in (select id from tablename where id = @id and code <> @code) 
    if @id2=0 
    begin 
     select @acum = @acum+1 
    end 

    delete #control 
     where id = @id --and code = @code 
end 
drop table #control 
print @acum 
関連する問題