グループ化された行に基づいてSQLテーブルに別の列を追加するにはどうすればよいですか

気紛れに

私は次のようなテーブルを持っています:

DATE        ITEMS       CLASS       CATEGORY
---------------------------------------------------------
2016-10-01  17915       Red         Apartment
2016-10-01  39246       Red         Complex
2016-10-01  4376        Blue        Apartment
2016-10-01  12668       Blue        Complex
2016-10-01  513         Yellow      Apartment
2016-10-01  23271       Yellow      Complex

このテーブルに、CLASSでグループ化し、一方の値を他方のパーセンテージとして計算する別の列を追加したいと思います。たとえば、上記の場合、Class = Redとマークされた2つの行について、Apartmentカテゴリ(17915)のItemsの値を取得し、Complexカテゴリ(39246)のItemsの値のパーセンテージとして計算します。 )、これは49.64%、つまり約50%になります。

したがって、上記のテーブルに適用されたクエリは、次のような出力テーブルを生成するはずです。

DATE        ITEMS       CLASS       CATEGORY    OCCUPANCY
--------------------------------------------------------------------------
2016-10-01  17915       Red         Apartment   17915 * 100 / 39246
2016-10-01  39246       Red         Complex     null
2016-10-01  4376        Blue        Apartment   4376 * 100 / 12668
2016-10-01  12668       Blue        Complex     null
2016-10-01  513         Yellow      Apartment   513 * 100 / 23271
2016-10-01  23271       Yellow      Complex     null

それらの操作ではなく、実際の値です。これに対するクエリはどのようになりますか?GROUP BY句のバリエーションを試しましたが、グループ化した後、ある行を次の行と比較するものは考えられません。

scaisEdge

自己結合と結合を使用できます

select  a.DATE,  a.ITEMS, a.CLASS, a.CATEGORY, (a.ITEMS *100)/ b.ITEMS  AS OCCUPANCY
from my_table as a
inner join my_table as b on a.class = b.classe 
wheer a.CATEGORY = 'Apartment'
AND b.CATEGORY = 'Complex'
UNION 
SELECT  DATE,  ITEMS, CLASS, CATEGORY, NULL
FROM my_table 
where CATEGORY = 'Complex'

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Numpyの別の配列のグループ化された値に基づいて配列を生成するにはどうすればよいですか?

分類Dev

パンダの行と別の列の特定の値に基づいて行をグループ化するにはどうすればよいですか?

分類Dev

1つの行識別子に基づいてマージ列をパンダとグループ化するにはどうすればよいですか?

分類Dev

計算された列に基づいてmysqlの結果をグループ化するにはどうすればよいですか?

分類Dev

1つの列に基づいて別のテーブルに列を追加するにはどうすればよいですか?

分類Dev

別の列または別のグループに基づいて列の値を合計するにはどうすればよいですか?

分類Dev

テーブルセルのデータに基づいてテーブル行に背景色を追加するにはどうすればよいですか?

分類Dev

別のテーブルグループの概要に基づいて概要を取得するにはどうすればよいですか?

分類Dev

Pythonの文字列値に基づいてファイルを1行にグループ化するにはどうすればよいですか?

分類Dev

最初の要素に基づいてネストされたリストをグループ化するにはどうすればよいですか?

分類Dev

別のテーブル列に基づいてテーブルを更新するにはどうすればよいですか?

分類Dev

チェックボックスに基づいて選択して、あるSQLテーブルから別のSQLテーブルに複数行のデータを追加するにはどうすればよいですか?

分類Dev

mysqlで新しいグループによってグループ化された行を追加するにはどうすればよいですか?

分類Dev

VBのデータテーブルの既存の列に基づいて新しい列を追加するにはどうすればよいですか?

分類Dev

グループ化されたdata.frame内の別の列のany()に基づいて列にデータを入力するにはどうすればよいですか?

分類Dev

SQL Serverのメインテーブルの列の値に基づいてテーブルを結合するにはどうすればよいですか?

分類Dev

キーに基づいて配列をグループ化し、グループ化された配列を値として持つ動的オブジェクトを作成するにはどうすればよいですか?

分類Dev

mysqlに条件を追加して、列の値に基づいて異なるテーブルの値を取得するにはどうすればよいですか?

分類Dev

開始日時と終了日時の間にある日時に基づいて、あるテーブルのグループIDを別のテーブルの行に割り当てるにはどうすればよいですか?

分類Dev

グループを繰り返し追加しながら、グループに基づいて行を追加するにはどうすればよいですか?

分類Dev

接続または重複する情報に基づいて行をグループ化するにはどうすればよいですか?

分類Dev

別のテーブルの列の最新の前の日付で行をグループ化するにはどうすればよいですか?

分類Dev

前の行との違いに基づいて行をグループ化するにはどうすればよいですか?

分類Dev

MATLABの特定の条件に基づいてテーブルの最後の列に値を追加するにはどうすればよいですか?

分類Dev

値に基づいてHTMLテーブル(動的に作成された)セルの色を変更するにはどうすればよいですか?

分類Dev

Ansibleの事実に基づいてホストをグループ化するためにAnsibleを取得するにはどうすればよいですか?

分類Dev

行番号のみに基づいて単一の列テーブルを複数の列に変換するにはどうすればよいですか?

分類Dev

別のテーブルの参照に基づいて異なる値で列を2回出力するにはどうすればよいですか?

分類Dev

最初の行の情報に基づいて一連の行をグループ化するにはどうすればよいですか?

Related 関連記事

  1. 1

    Numpyの別の配列のグループ化された値に基づいて配列を生成するにはどうすればよいですか?

  2. 2

    パンダの行と別の列の特定の値に基づいて行をグループ化するにはどうすればよいですか?

  3. 3

    1つの行識別子に基づいてマージ列をパンダとグループ化するにはどうすればよいですか?

  4. 4

    計算された列に基づいてmysqlの結果をグループ化するにはどうすればよいですか?

  5. 5

    1つの列に基づいて別のテーブルに列を追加するにはどうすればよいですか?

  6. 6

    別の列または別のグループに基づいて列の値を合計するにはどうすればよいですか?

  7. 7

    テーブルセルのデータに基づいてテーブル行に背景色を追加するにはどうすればよいですか?

  8. 8

    別のテーブルグループの概要に基づいて概要を取得するにはどうすればよいですか?

  9. 9

    Pythonの文字列値に基づいてファイルを1行にグループ化するにはどうすればよいですか?

  10. 10

    最初の要素に基づいてネストされたリストをグループ化するにはどうすればよいですか?

  11. 11

    別のテーブル列に基づいてテーブルを更新するにはどうすればよいですか?

  12. 12

    チェックボックスに基づいて選択して、あるSQLテーブルから別のSQLテーブルに複数行のデータを追加するにはどうすればよいですか?

  13. 13

    mysqlで新しいグループによってグループ化された行を追加するにはどうすればよいですか?

  14. 14

    VBのデータテーブルの既存の列に基づいて新しい列を追加するにはどうすればよいですか?

  15. 15

    グループ化されたdata.frame内の別の列のany()に基づいて列にデータを入力するにはどうすればよいですか?

  16. 16

    SQL Serverのメインテーブルの列の値に基づいてテーブルを結合するにはどうすればよいですか?

  17. 17

    キーに基づいて配列をグループ化し、グループ化された配列を値として持つ動的オブジェクトを作成するにはどうすればよいですか?

  18. 18

    mysqlに条件を追加して、列の値に基づいて異なるテーブルの値を取得するにはどうすればよいですか?

  19. 19

    開始日時と終了日時の間にある日時に基づいて、あるテーブルのグループIDを別のテーブルの行に割り当てるにはどうすればよいですか?

  20. 20

    グループを繰り返し追加しながら、グループに基づいて行を追加するにはどうすればよいですか?

  21. 21

    接続または重複する情報に基づいて行をグループ化するにはどうすればよいですか?

  22. 22

    別のテーブルの列の最新の前の日付で行をグループ化するにはどうすればよいですか?

  23. 23

    前の行との違いに基づいて行をグループ化するにはどうすればよいですか?

  24. 24

    MATLABの特定の条件に基づいてテーブルの最後の列に値を追加するにはどうすればよいですか?

  25. 25

    値に基づいてHTMLテーブル(動的に作成された)セルの色を変更するにはどうすればよいですか?

  26. 26

    Ansibleの事実に基づいてホストをグループ化するためにAnsibleを取得するにはどうすればよいですか?

  27. 27

    行番号のみに基づいて単一の列テーブルを複数の列に変換するにはどうすればよいですか?

  28. 28

    別のテーブルの参照に基づいて異なる値で列を2回出力するにはどうすればよいですか?

  29. 29

    最初の行の情報に基づいて一連の行をグループ化するにはどうすればよいですか?

ホットタグ

アーカイブ