-1

ts_titleという名前の列であるURP_PROJECTというテーブルがあります。列ts_titleの下にさまざまなレコードデータがあります。ts_titleの下の各レコードをパーセンテージで計算するにはどうすればよいですか?パーセンテージ列は、以下のSQLクエリに従って追加されます。

私はから始めます:

SELECT ts_title

COUNT(ts_title)ASパーセンテージ

私がそれを続けるのを手伝ってください、ありがとう

4

5 に答える 5

1

これはあなたが探しているものをあなたに与えるかもしれません

  select ts_title, 
         count(1) * 100.0 / (select count(1) from upr_project)
 from upr_project
group by ts_title

100.0を掛けると、より正確なパーセンテージを得るためにフロートに変換されます。

于 2012-04-13T03:50:17.303 に答える
1

別の解決策は、ウィンドウ関数を使用することです。

select ts_title,
       100.0 * (up.cnt*1.0 / (sum(up.cnt) over (partition by 1)))
from 
(
  select ts_title, count(*) as cnt
  from upr_project
  group by ts_title
) up
于 2012-04-13T18:19:14.173 に答える
0

これを試して

SELECT ts_title,
(count(ts_title) * 100 / (SELECT count(*) FROM URP_PROJECT)) as percentage 
FROM URP_PROJECT Group BY ts_title
于 2012-04-13T03:53:20.840 に答える
0

こんにちは、テーブル全体に対する ts_title レコードの割合を探していると思います。その場合、これはあなたを助けるでしょう

DECLARE @ActualCount INT

select @ActualCount = COUNT(*) from urp_project


select ts_title
  ,(Count(ts_title)/ @ActualCount )* 100 AS Percentage       
from urp_project
group by ts_title;
于 2012-04-13T03:54:14.617 に答える
0

おそらく、次のようなものです。

SELECT
  ts_title,
  COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () AS percentage
FROM URP_PROJECT
GROUP BY ts_title

役に立つ読み物:

于 2012-04-13T18:27:31.973 に答える