0

私は脳のおならを抱えていて、それを乗り越えることができないようです. これは以前やったことがありますが、どうやってやったか思い出せません。要点は次のとおりです。作成したテーブル(テスト)があり、このテーブルにランダムな情報を保存しています。(これはテスト テーブルであるため、テーブル内の情報は何にも当てはまりません)。私のテストテーブルは次のようになります。

Name     varchar2 Primary key
age      varchar2
sex      char 
social   varchar2  Primary Key

このテーブルを例として使用しているため、2 つの主キーがあります。私は学生に複合キーの作り方を教えていました。

私の質問は次のとおりです。行の最後に合計数があるクエリを作成するにはどうすればよいですか?

私はこのようなものを探しています:

Name   Male  Female
xxxxx   m
xxxxx   m
xxxxx   m
xxxxx   m
xxxxx          F
xxxxx          F
Total:  4      2

テストとして、次のクエリを作成しました (これはまったく機能しません)。

set feedback on    
compute sum(COUNT(SEX)) LABEL "# of males" of sex_count on report 
select count(sex) as sex_count
from test
where sex = upper('m')
4

2 に答える 2

2

これで問題は解決しますか?

select name, male, female from (
    select name, 
           decode( sex, 'm', 'm', null) Male, 
           decode( sex, 'f', 'f', null) Female, 0 n 
      from test
     union
    select 'Total', 
           to_char(sum(decode(sex, 'm', 1, 0))), 
           to_char(sum(decode(sex, 'f', 1, 0))), 
           1 
      from test
     group by 'Total' 
  ) order by n

フィドルへのリンク: http://sqlfiddle.com/#!4/0e501/3/0

于 2013-10-24T15:03:01.610 に答える