2012-04-11 15 views
2

アム内のレコードの数は、私のクエリ条件
サンプルテーブルが
表であるとともに、COUNT(*)を使用して、テーブル内のレコード数を取得しようとしましょうオラクル

select std.name 
from STUD_Name where id='2' 

この場合、出力は「Smith」と「Ben」と表示されますが、STUD_NAMEテーブルのレコードの総数が必要です。それは「4」として、合計レコードを表示する必要があり、右ことで

、この問題を解決するために、どのようにこの場合

答えて

1

でクエリを形成するために私を助けてください何について:

select 
     std.name 
     ,(select count(1) from STUD_Name) nrofstds 
from STUD_Name std where std.id='2' 
3
SELECT name, 
     cnt as total_count 
FROM (
    SELECT id 
      name, 
      count(*) over() as cnt 
    FROM stud_name 
) t 
WHERE id = 2 

idが数字列の場合、値2を一重引用符で囲む必要はありません(実際には、バックグラウンドで発生する暗黙的なデータ型変換のために危険です)

+0

+1ですが、 'count(*)'行にエイリアスがありません。 –

+0

@AlexPoole:ありがとう、 –

+0

私のクエリでもう一度問題が発生しました。私の条件に合わせてカウントを表示する必要があります。 "STUD_NAMEからSTUD_NAME.nameを選択します。ここでid = '2'、一致する名前を表示する必要があります。 id "2" + id '2'を取得した行がない、その入札優先度plsが私を助けてくれます – SANJAY

0
select STUD_NAME.name, CNT.count 
from STUD_NAME 
    , (select count(*) COUNT from STUD_NAME) CNT 
where id='2' 
+0

ありがとうございました、私のために働いてくれてありがとう、たくさんありがとう!!! – SANJAY

+0

私の場所の条件に従ってカウントを表示するには、 "STUD_NAMEからSTUD_NAME.nameを選択します。ここでid = '2'、id" 2 "に一致する名前を表示する必要があります。入札優先plsは私を助けます – SANJAY