SQLで複数の最大値を持つグループの最大値を見つける方法は?

ヴィクラム

テーブルは部門ごとにグループ化する必要があり、部門の最大量を返す必要があります

表A:

Id 名前 部門
1 ジョン・エイブラハム 人事
2 マイケルクラーク 人事
3 ロイトーマス マネージャー
4 トム・ホセ 人事
4 ジェリーピント マネージャー

表B:

M_Id
1 5000
2 5000
3 2500
4 1000
4 1500

期待される答え

Id 名前 部門
1 ジョン・エイブラハム 人事 5000
2 マイケルクラーク 人事 5000
3 ロイトーマス マネージャー 2500
zedfoxus

あなたはこのようなことを試すことができます:

select main.*

FROM

-- get all information from t1 and amount from t2
(
  select t1.*, t2.amount from t1 inner join t2 on t1.id = m_id
) main

INNER JOIN

-- get max amount by department
(
  select department, max(amount) max_amount from t1 inner join t2 on t1.id = m_id
  group by department
) summary

-- match with main by department and the max amount
on main.department = summary.department
and main.amount = summary.max_amount;

結果

+------+----------------+------------+--------+
| id   | name           | department | amount |
+------+----------------+------------+--------+
|    1 | John Abraham   | HR         |   5000 |
|    2 | Michael Clarke | HR         |   5000 |
|    3 | Roy Thomas     | Manager    |   2500 |
+------+----------------+------------+--------+

例はここにあります:https//dbfiddle.uk/?rdbms = mysql_5.7&fiddle = a4cdd94b415df204b0fd967263ba9dc8

説明

部門ごとに最大額を取得したいので、そのためのサブクエリを作成しました。エイリアスを付けましたsummaryそれは私たちにこれを与えました:

select department, max(amount)
from t1 inner join t2 on t1.id = m_id group by department;
+------------+-------------+
| department | max(amount) |
+------------+-------------+
| HR         |        5000 |
| Manager    |        2500 |
+------------+-------------+

t1テーブルとt2テーブルを組み合わせて、レポートするデータを組み合わせ、エイリアスを付けましたmainそれは私たちにこれを与えました:

select t1.*, t2.amount from t1 inner join t2 on t1.id = m_id;
+------+----------------+------------+--------+
| id   | name           | department | amount |
+------+----------------+------------+--------+
|    1 | John Abraham   | HR         |   5000 | <-- want this
|    2 | Michael Clarke | HR         |   5000 | <-- want this
|    3 | Roy Thomas     | Manager    |   2500 | <-- want this
|    4 | Jerry Pinto    | Manager    |   1000 |
|    4 | Tom Jose       | HR         |   1000 |
+------+----------------+------------+--------+

次に、部門と両方のサブクエリの金額に基づいて、両方のサブクエリが結合されていることを確認しました。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

SQLグループ内の複数列の最大値を見つける方法は?

分類Dev

SQLで各グループの最小値と最大値を見つける方法は?

分類Dev

Pythonを使用して行の値をグループ化することにより、複数の列で最大値を見つける方法は?

分類Dev

FileMakerでグループ内の最大値を見つける

分類Dev

Rのループ内で最大値を見つける方法

分類Dev

SQLピボットでグループごとの最大値を見つける

分類Dev

テーブルから複数の最大値を見つける

分類Dev

MATLABで複数の配列の最大値を見つける方法は?

分類Dev

Mysqlで2つのテーブルの最大値を見つける方法は?

分類Dev

他の列を維持しながら列をグルービーして最大値を見つける方法は?

分類Dev

Rの条件で複数の行の最大値を見つける

分類Dev

複数の要素を持つリストの最大値を見つける

分類Dev

forループPythonで上位10個の最大値を見つける

分類Dev

Rのdplyrでグループごとの最大値を見つける

分類Dev

同じIDを持つ要素をグループ化し、最大値とその場所を見つける

分類Dev

複数のテーブルを持つツリーで<td>の最大数を見つける方法-JS

分類Dev

最大の価値を持つ「重複」データの行を見つける

分類Dev

SQL:特定の値の最大数を持つ行を見つける方法

分類Dev

画像で地域の最大値/最小値を見つける方法は?

分類Dev

mongon: 別の列で最大値を持つ ID を見つける

分類Dev

複数のDataFrameパンダの各セルで最大値を見つける

分類Dev

Rの複数のcsvファイル全体で最大列値を見つける

分類Dev

SQL:SQLでグループごとの最小値を見つける方法は?

分類Dev

複数のシートがあるVBAの数値の最大差を見つける方法は?

分類Dev

Postgresは複数のテーブルから最大列値を見つけます

分類Dev

独自の行と列で最大の値を見つける方法は?

分類Dev

forループ内の値の最大/最小を見つける

分類Dev

条件付きのグループごとに最大値を見つける方法は?パンダ

分類Dev

データフレーム内の変数の1つのグループの最大値と最小値の差を見つける方法

Related 関連記事

  1. 1

    SQLグループ内の複数列の最大値を見つける方法は?

  2. 2

    SQLで各グループの最小値と最大値を見つける方法は?

  3. 3

    Pythonを使用して行の値をグループ化することにより、複数の列で最大値を見つける方法は?

  4. 4

    FileMakerでグループ内の最大値を見つける

  5. 5

    Rのループ内で最大値を見つける方法

  6. 6

    SQLピボットでグループごとの最大値を見つける

  7. 7

    テーブルから複数の最大値を見つける

  8. 8

    MATLABで複数の配列の最大値を見つける方法は?

  9. 9

    Mysqlで2つのテーブルの最大値を見つける方法は?

  10. 10

    他の列を維持しながら列をグルービーして最大値を見つける方法は?

  11. 11

    Rの条件で複数の行の最大値を見つける

  12. 12

    複数の要素を持つリストの最大値を見つける

  13. 13

    forループPythonで上位10個の最大値を見つける

  14. 14

    Rのdplyrでグループごとの最大値を見つける

  15. 15

    同じIDを持つ要素をグループ化し、最大値とその場所を見つける

  16. 16

    複数のテーブルを持つツリーで<td>の最大数を見つける方法-JS

  17. 17

    最大の価値を持つ「重複」データの行を見つける

  18. 18

    SQL:特定の値の最大数を持つ行を見つける方法

  19. 19

    画像で地域の最大値/最小値を見つける方法は?

  20. 20

    mongon: 別の列で最大値を持つ ID を見つける

  21. 21

    複数のDataFrameパンダの各セルで最大値を見つける

  22. 22

    Rの複数のcsvファイル全体で最大列値を見つける

  23. 23

    SQL:SQLでグループごとの最小値を見つける方法は?

  24. 24

    複数のシートがあるVBAの数値の最大差を見つける方法は?

  25. 25

    Postgresは複数のテーブルから最大列値を見つけます

  26. 26

    独自の行と列で最大の値を見つける方法は?

  27. 27

    forループ内の値の最大/最小を見つける

  28. 28

    条件付きのグループごとに最大値を見つける方法は?パンダ

  29. 29

    データフレーム内の変数の1つのグループの最大値と最小値の差を見つける方法

ホットタグ

アーカイブ