0

私は多くの要約統計量を処理した大規模なデータベースで遊んでいます。私は仕方がないのですが、私がしていることよりも迅速な方法が必要だと思います。

たとえば、次のクエリを考えてみましょう。

select count(*), thing1, thing2, thing3 from myTable
group by thing1, thing2, thing3

ここに画像の説明を入力してください

1=trueおよび0=false。データセットからローカル変数を追加し(たとえばselect @total=count(*) from peopleTable)、カウントの各行を@totalで除算したい場合、これに対する一般的なSQLソリューションはありますか?私はこれを行ごとに行う方法を知っていますが、このように一度にすべてを行うわけではありません。

4

1 に答える 1

2

編集:

今、私はあなたがこれを望んでいると思います:

DECLARE @total int;
SET @total = (SELECT COUNT(*) FROM peopleTable)
SELECT COUNT(*) AS count_column
     , CAST(COUNT(*) AS float) / @total AS percent_total
     , @total AS total_ppl
     , thing1, thing2, thing3 
FROM myTable
GROUP BY thing1, thing2, thing3

このクエリは、グループ化されたレコードのCOUNT、合計pplおよび合計pplに関するパーセンテージカウントを提供します。

于 2012-05-17T15:36:29.833 に答える