行の値を特定の最大値に合計するクエリ

ティツィアーノミスキ

このような3つのテーブルを含む問題があります(重要なフィールドのみを表示します):

テーブルの順序:

id
date

各注文には、より多くの行を含めることができます。

テーブルOrderRows:

id
order_id
article_id
quantity
quantity_evaded
quantity_available

注文リストテーブルで、このようなクエリを実行して、注文のすべての値を要約します

SELECT o.*,
   SUM(r.quantity) quantity, SUM(r.quantity_evaded) evaded,
   SUM(r.quantity_available) available
FROM `Orders` AS `o`
LEFT JOIN `OrderRows` as `r` ON `r`.`order_id`=`o`.`id`
GROUP BY `o`.`id` 

問題は、このクエリでは、注文を閉じることができるかどうかについて何も教えてくれないことです。注文は、その中のすべての記事が各行に十分な可用性を持っているときに閉じることができます。記事Aと記事Bの2つの記事が含まれている注文があり、それぞれが5個の数量で注文されており、在庫状況はAが10、Bが2である場合を考えてみましょう。

在庫状況の合計は12(10 + 2)で、注文数量の10を超えていますが、商品Bに十分なアイテムがありません(注文された5つのうち2つのみ)。特定の最大値にカウントする方法で合計を作成する方法はありますか、または私が持っている唯一の方法は、注文のすべての行を循環させ、すべての単一の行に十分な可用性があるかどうかを確認することです?

ゴードン・リノフ

集計関数を適用する前に、比較を行う必要があります。

SELECT o.*,
       SUM(r.quantity) as quantity,
       SUM(r.quantity_evaded) as evaded,
       SUM(r.quantity_available) as available,
       NOT MAX( r.quantity > r.quantity_available ) as is_closed
FROM `Orders` `o` LEFT JOIN
     `OrderRows` `r`
     ON `r`.`order_id` = `o`.`id`
GROUP BY o.id;

注文を閉じることができない場合、r.quantity > r.quantity_availableが返さ1れます。MAX()かどうかが決定どの記事がこの基準を満たします。

注:これは、記事が注文内で重複していないことを前提としています。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

SQLクエリ:特定の列の値が最大になる行を取得します

分類Dev

行を合計して最大値を取得するMySqlクエリ

分類Dev

集計値と非集計値を1つの行に結合するSQLクエリ

分類Dev

合計の選択クエリを使用して、合計の最大値と最小値を見つけます

分類Dev

集計またはサブクエリを含む式で集計関数を実行することはできません。合計SQLの最大値

分類Dev

列の合計が何らかの値になるまで行を取得するSQLクエリ

分類Dev

単一のSELECTクエリで最大値の合計を見つける

分類Dev

条件付きの列の値を合計するクエリ

分類Dev

多くのIDに応じて値の合計量を取得するクエリ?

分類Dev

SQL Serverクエリ:多くのレコードの値の合計に対する特定のレコードのパーセンテージ値を返す方法

分類Dev

SQL Serverクエリ:多くのレコードの値の合計に対する特定のレコードのパーセンテージ値を返す方法

分類Dev

行の合計値 mysql クエリ

分類Dev

Oracleクエリで最大値の行を選択する

分類Dev

2つ以上の値を合計するGremlinクエリ

分類Dev

Android +解析クエリの値を合計する

分類Dev

値の合計を条件として使用する(SQLクエリ)

分類Dev

列の値を合計するサブクエリ

分類Dev

SQLiteクエリの合計値をテキストビューに表示する

分類Dev

ツリーの値の合計を計算する(再帰クエリ)

分類Dev

行の合計が特定の値に達するセルに色を付ける

分類Dev

Matlab:他の列のエントリに応じて特定の範囲の値を合計する方法

分類Dev

Django:クエリを通じて列の値の合計を計算する

分類Dev

Django:クエリを通じて列の値の合計を計算する

分類Dev

Rの特定の値の列と行を合計する

分類Dev

パンダの特定の行の値を合計する方法は?

分類Dev

MySQLクエリで合計の最大値に関連する名前を見つけるにはどうすればよいですか?

分類Dev

linq to sqlクエリの列値の合計を計算するにはどうすればよいですか?

分類Dev

クエリのNull値を特定の行の値で埋める

分類Dev

サンプルの最大値、最小値、最頻値を計算するためのSQLクエリ

Related 関連記事

  1. 1

    SQLクエリ:特定の列の値が最大になる行を取得します

  2. 2

    行を合計して最大値を取得するMySqlクエリ

  3. 3

    集計値と非集計値を1つの行に結合するSQLクエリ

  4. 4

    合計の選択クエリを使用して、合計の最大値と最小値を見つけます

  5. 5

    集計またはサブクエリを含む式で集計関数を実行することはできません。合計SQLの最大値

  6. 6

    列の合計が何らかの値になるまで行を取得するSQLクエリ

  7. 7

    単一のSELECTクエリで最大値の合計を見つける

  8. 8

    条件付きの列の値を合計するクエリ

  9. 9

    多くのIDに応じて値の合計量を取得するクエリ?

  10. 10

    SQL Serverクエリ:多くのレコードの値の合計に対する特定のレコードのパーセンテージ値を返す方法

  11. 11

    SQL Serverクエリ:多くのレコードの値の合計に対する特定のレコードのパーセンテージ値を返す方法

  12. 12

    行の合計値 mysql クエリ

  13. 13

    Oracleクエリで最大値の行を選択する

  14. 14

    2つ以上の値を合計するGremlinクエリ

  15. 15

    Android +解析クエリの値を合計する

  16. 16

    値の合計を条件として使用する(SQLクエリ)

  17. 17

    列の値を合計するサブクエリ

  18. 18

    SQLiteクエリの合計値をテキストビューに表示する

  19. 19

    ツリーの値の合計を計算する(再帰クエリ)

  20. 20

    行の合計が特定の値に達するセルに色を付ける

  21. 21

    Matlab:他の列のエントリに応じて特定の範囲の値を合計する方法

  22. 22

    Django:クエリを通じて列の値の合計を計算する

  23. 23

    Django:クエリを通じて列の値の合計を計算する

  24. 24

    Rの特定の値の列と行を合計する

  25. 25

    パンダの特定の行の値を合計する方法は?

  26. 26

    MySQLクエリで合計の最大値に関連する名前を見つけるにはどうすればよいですか?

  27. 27

    linq to sqlクエリの列値の合計を計算するにはどうすればよいですか?

  28. 28

    クエリのNull値を特定の行の値で埋める

  29. 29

    サンプルの最大値、最小値、最頻値を計算するためのSQLクエリ

ホットタグ

アーカイブ