none
割合を出す方法 RRS feed

  • 質問

  • お世話になります。

    Express Editionで勉強をしているのですが、

    全体(アクセス件数の合計)に占める割合の出し方がわからないので教えてください。

    SELECT  [User] AS ユーザー名,count(* ) AS アクセス件数,  ???? AS 割合 FROM [Table1]  GROUP BY [User]

     

     

    ユーザー名 アクセス件数 割合

    userA         3       60%

    UserB         2       40%

    UserC         1       20%

     

    よろしくお願いします。

     

    2008年7月9日 2:25

回答

すべての返信

  • ????の部分ですが、以下で良いと思います。

     

    ( count(*) * 100.0 / (select count(*) from Table1) )

    2008年7月9日 2:57
  • いつもお世話になります。

    ありがとうございました。うまくいきました。

    何か集計関数があるのかと思っていました。

     

    今後ともよろしくお願いします。

    2008年7月9日 4:18
  •  

    Code Snippet
    SELECT  [User] AS ユーザー名,
    count(*) AS アクセス件数,
    100* count(*) / sum(count(*)) over() AS 割合
     FROM [Table1] GROUP BY [User]

     


    OracleとDB2なら
    Ratio_To_Report
    なんてのがあるんですけどねぇ

    未来のSQLServerでは、下記でいいかもしれませんねぇ

     

    Code Snippet

    SELECT  [User] AS ユーザー名,
    count(*) AS アクセス件数,
    100 * Ratio_To_Report(count(*)) over() AS 割合
     FROM [Table1]

      GROUP BY [User]

     

     

    2008年7月16日 9:41