1つの最大日付に基づいてすべての列の個別の結果を取得します

ジェイC

SQL Server2012の使用

このトピックに関するスレッドをいくつか見ましたが、クエリに複数の結合が含まれているスレッドが見つかりません。このデータベースにVIEWを作成できないため、結合が必要です。

クエリ

SELECT 

      p.Price
      ,s.Type
      ,s.Symbol
      , MAX(d.Date) Maxed
  FROM AdventDW.dbo.FactPrices p
  INNER JOIN dbo.DimSecurityMaster s
  ON s.SecurityID = p.SecurityID
  INNER JOIN dbo.DimDateTime d
   ON
  p.DateTimeKey = d.DateTimeKey
  GROUP BY p.Price ,
           s.Type ,
           s.Symbol
ORDER BY s.Symbol

クエリは機能しますが、明確な結果は生成されません。Order byを使用して結果を検証していますが、機能するようになったら必須ではありません。I結果セットは次のようになります。

Price   Type    Symbol  Maxed
10.57   bfus    *bbkd           3/31/1989
10.77   bfus    *bbkd           2/28/1990
100.74049   cbus    001397AA6       8/2/2005
100.8161    cbus    001397AA6       7/21/2005

私が欲しい結果セットは

Price   Type    Symbol  Maxed
10.77   bfus    *bbkd           2/28/1990
100.74049   cbus    001397AA6       8/2/2005

これが私が試した他のいくつかのStackOverflowスレッドでしたが、特定のクエリで動作しませんでした

SQLの別の列でMAX(列値)、DISTINCTの行を選択するにはどうすればよいですか?

SQL1つの列の最大値に基づいて複数の列から個別の行を選択する

ゴードン・リノフ

最大日付のデータが必要な場合は、次ではrow_number()なくを使用してgroup byください。

SELECT ts.*
FROM (SELECT p.Price, s.Type, s.Symbol, d.Date,
             ROW_NUMBER() OVER (PARTITION BY s.Type, s.Symbol
                                ORDER BY d.Date DESC
                               ) as seqnum
      FROM AdventDW.dbo.FactPrices p INNER JOIN
           dbo.DimSecurityMaster s
           ON s.SecurityID = p.SecurityID INNER JOIN
           dbo.DimDateTime d
           ON p.DateTimeKey = d.DateTimeKey
     ) ts
WHERE seqnum = 1
ORDER BY s.Symbol;

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

別の列の日付フィールドに基づいて結果を取得する

分類Dev

列の値に基づいて最大日付を取得する

分類Dev

列の値に基づいて最大日付を取得する

分類Dev

DAX。別の列の最大値に基づいて列の値を取得します

分類Dev

日付によるIDの順序に基づいて個別のレコードを取得します

分類Dev

配列の別の列に基づいて、1つの列の最小最大値を集約します-Python

分類Dev

別のテーブルの列の結果に基づいてクエリの日付を変更する

分類Dev

MySQL-別の列に基づいて1つの列から個別の値をカウントします

分類Dev

mysqlは、2つの列に基づいて2つの日付の間の行を取得します

分類Dev

mysqlは、2つの列に基づいて2つの日付の間の行を取得します

分類Dev

SQLは、別の列の複製に基づいて1つの列の最大値を検索します

分類Dev

SpringJPA-複数の列に基づいて個別の結果を返す方法

分類Dev

mySQL-1つの列の基準に基づいて個別の行をカウントします

分類Dev

Rの別の列の最小値に基づいて1つの列の対応する値を取得します

分類Dev

LaravelとCarbonを使用して、過去6か月の特定の日付に基づいて各週に該当するすべての結果を取得する方法

分類Dev

SQL Server:別の結果セットの検索に基づいて1つのテーブルから結果を取得します

分類Dev

MySQLで2つのテーブルをカウントし、別のテーブルの日付に基づいて結果を表示します

分類Dev

Pandasデータフレームの個々の日付を確認し、各日付の別の列の条件に基づいて1つの列(重み)を調整しています

分類Dev

現在の日付から30日以内に日付が近づいているテーブルのすべての結果を取得しますか?

分類Dev

MS Access-3つの列に基づいて重複を削除し、SQLの最小/最大を使用せずに1つの結果を保持します

分類Dev

別の列の一意性に基づいて、1つの列のパンダdfのすべての値を取得します

分類Dev

R dplyr / tidyverseデータフレームの複数の列に基づいて最大日付を取得します

分類Dev

他の2つの日付関連列の値に基づいて値の合計を取得します

分類Dev

最大日付に基づいて個別のレコードを取得する方法は?

分類Dev

日付に基づく毎日のデータに基づいて最大値と最小値を取得します

分類Dev

一意の行ごとの最大日付に基づいて、シートから別のシートに個別の行の値を抽出します

分類Dev

別の列の値に基づいて1つの列を合計します

分類Dev

R:1つの列のすべての個別の値を別の列に結合します

分類Dev

選択した週に基づいて、2つの日付の範囲内のすべての日付を取得します

Related 関連記事

  1. 1

    別の列の日付フィールドに基づいて結果を取得する

  2. 2

    列の値に基づいて最大日付を取得する

  3. 3

    列の値に基づいて最大日付を取得する

  4. 4

    DAX。別の列の最大値に基づいて列の値を取得します

  5. 5

    日付によるIDの順序に基づいて個別のレコードを取得します

  6. 6

    配列の別の列に基づいて、1つの列の最小最大値を集約します-Python

  7. 7

    別のテーブルの列の結果に基づいてクエリの日付を変更する

  8. 8

    MySQL-別の列に基づいて1つの列から個別の値をカウントします

  9. 9

    mysqlは、2つの列に基づいて2つの日付の間の行を取得します

  10. 10

    mysqlは、2つの列に基づいて2つの日付の間の行を取得します

  11. 11

    SQLは、別の列の複製に基づいて1つの列の最大値を検索します

  12. 12

    SpringJPA-複数の列に基づいて個別の結果を返す方法

  13. 13

    mySQL-1つの列の基準に基づいて個別の行をカウントします

  14. 14

    Rの別の列の最小値に基づいて1つの列の対応する値を取得します

  15. 15

    LaravelとCarbonを使用して、過去6か月の特定の日付に基づいて各週に該当するすべての結果を取得する方法

  16. 16

    SQL Server:別の結果セットの検索に基づいて1つのテーブルから結果を取得します

  17. 17

    MySQLで2つのテーブルをカウントし、別のテーブルの日付に基づいて結果を表示します

  18. 18

    Pandasデータフレームの個々の日付を確認し、各日付の別の列の条件に基づいて1つの列(重み)を調整しています

  19. 19

    現在の日付から30日以内に日付が近づいているテーブルのすべての結果を取得しますか?

  20. 20

    MS Access-3つの列に基づいて重複を削除し、SQLの最小/最大を使用せずに1つの結果を保持します

  21. 21

    別の列の一意性に基づいて、1つの列のパンダdfのすべての値を取得します

  22. 22

    R dplyr / tidyverseデータフレームの複数の列に基づいて最大日付を取得します

  23. 23

    他の2つの日付関連列の値に基づいて値の合計を取得します

  24. 24

    最大日付に基づいて個別のレコードを取得する方法は?

  25. 25

    日付に基づく毎日のデータに基づいて最大値と最小値を取得します

  26. 26

    一意の行ごとの最大日付に基づいて、シートから別のシートに個別の行の値を抽出します

  27. 27

    別の列の値に基づいて1つの列を合計します

  28. 28

    R:1つの列のすべての個別の値を別の列に結合します

  29. 29

    選択した週に基づいて、2つの日付の範囲内のすべての日付を取得します

ホットタグ

アーカイブ