1

次のコードがあります

select ID, count(*) from 
( select ID, service type from database
group by 1,2) suba 
group by 1 
having count (*) > 1

そして、ID と変更の数を確認できるテーブルを取得します。これに似ている

ID | カウント(*)
5675 | 2
5695 | 3
5855 | 2
5625 | 4
5725 | 3

誰かが私に似たようなテーブルを得るためにすべてのカウント(*)をグループにカウントする方法を説明できますか...

カウント (*) | 番号
2 | 2
3 | 2
4 | 1

など。スバの意味を誰かが私に説明してくれませんか?

私の最新のコード:

からsuba.id、count(*)を選択
( table_name から id、service_type を選択
suba として 1,2) でグループ化
1でグループ化
カウント (*) > 1 を持つ

4

2 に答える 2

2

試したことはありませんが、これでうまくいくと思います

 select NoOfChanges, count (*) from
 ( 
     select suba.id, count(*) as NoOfChanges from 
      ( select id, service_type from table_name
       group by 1,2) as  suba
       group by 1 
       having count (*) > 1 
    )
 subtableb
 group by NoOfChanges 

あなたはそれを次のように考えることができます

select NoOfChanges, count (*) from subtableb
group by NoOfChanges  

ただし、subtableb は実際のテーブルではありませんが、前のクエリの結果です

于 2012-07-12T17:08:20.387 に答える
0

subaサブクエリのエイリアスです。すべてのテーブルまたはサブクエリには、一意の名前またはエイリアスが必要です。これにより、クエリの他の部分で参照できるようになります (そして曖昧さを解消できます)。AS閉じ括弧と「suba」の間に暗黙の欠落があることに注意してください。

于 2012-07-12T16:50:48.457 に答える