ts_titleという名前の列であるURP_PROJECTというテーブルがあります。列ts_titleの下にさまざまなレコードデータがあります。ts_titleの下の各レコードをパーセンテージで計算するにはどうすればよいですか?パーセンテージ列は、以下のSQLクエリに従って追加されます。
私はから始めます:
SELECT ts_title
COUNT(ts_title)ASパーセンテージ
私がそれを続けるのを手伝ってください、ありがとう
ts_titleという名前の列であるURP_PROJECTというテーブルがあります。列ts_titleの下にさまざまなレコードデータがあります。ts_titleの下の各レコードをパーセンテージで計算するにはどうすればよいですか?パーセンテージ列は、以下のSQLクエリに従って追加されます。
私はから始めます:
SELECT ts_title
COUNT(ts_title)ASパーセンテージ
私がそれを続けるのを手伝ってください、ありがとう
これはあなたが探しているものをあなたに与えるかもしれません
select ts_title,
count(1) * 100.0 / (select count(1) from upr_project)
from upr_project
group by ts_title
100.0を掛けると、より正確なパーセンテージを得るためにフロートに変換されます。
別の解決策は、ウィンドウ関数を使用することです。
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
これを試して
SELECT ts_title,
(count(ts_title) * 100 / (SELECT count(*) FROM URP_PROJECT)) as percentage
FROM URP_PROJECT Group BY ts_title
こんにちは、テーブル全体に対する 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;
おそらく、次のようなものです。
SELECT
ts_title,
COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () AS percentage
FROM URP_PROJECT
GROUP BY ts_title
役に立つ読み物: