というテーブルがあります。URP_PROJECTという名前のカラム、という名前のカラム、ts_titleという名前のカラムがあります。列ts_titleの下に異なるレコードデータがあります。 の下の各レコードを計算する方法ts_title% パーセント列は、以下のSQLクエリに従って追加されます。SQL - パーセンテージ数
は私がして起動します。ありがとう、
は私がそれを続けるヘルプ割合として
SELECT ts_title
COUNT(ts_title)
というテーブルがあります。URP_PROJECTという名前のカラム、という名前のカラム、ts_titleという名前のカラムがあります。列ts_titleの下に異なるレコードデータがあります。 の下の各レコードを計算する方法ts_title% パーセント列は、以下のSQLクエリに従って追加されます。SQL - パーセンテージ数
は私がして起動します。ありがとう、
は私がそれを続けるヘルプ割合として
SELECT ts_title
COUNT(ts_title)
これはあなたが
探しているものをあなたに与えることselect ts_title,
count(1) * 100.0/(select count(1) from upr_project)
from upr_project
group by ts_title
逓倍時間100.0はafに変換されますより正確なパーセンテージを得るためにはうんざりです。
ありがとう! %で助けられたfloatに変換すると、100になります。 – kravits88
こんにちは、私はあなたがテーブル全体にわたるts_titleレコードの割合を探していると思います。この
SELECT ts_title,
(count(ts_title) * 100/(SELECT count(*) FROM URP_PROJECT)) as percentage
FROM URP_PROJECT Group BY 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,
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
この解決策は、GROUPING SETS、ROLLUPまたはCUBEを使用して「合計」行がある場合にも機能します。 "total"行の余分なボリュームを考慮するために、1.0ではなくup.cntに2.0を掛けるだけです。 – supergrady
このような何か、おそらく:
SELECT
ts_title,
COUNT(*) * 100.0/SUM(COUNT(*)) OVER() AS percentage
FROM URP_PROJECT
GROUP BY ts_title
便利な読書:
どのデータベースにMS SQL Server、MySQL、Oracleを使用していますか? –
MS SQL Server 2008 – Mohan
SSRS - SQL Serverレポートサービス – Mohan