LeetCode-1327。製品のすべての注文は、期間(シンプル)を指定したリスト

表:製品

+ --------- + ------------------ +
|カラム名|タイプ|
+ ------------- + --------- + -----
| PRODUCT_ID | int型|
| PRODUCT_NAME | VARCHAR |
| PRODUCT_CATEGORY | VARCHAR |
+ ------------------ + --------- +
product_idのテーブルには主キーです。
このテーブルには、同社の製品のためのデータが含まれています。
表:受注

+ --------- + --------------- +
|カラム名|タイプ|
+ --------------- + + ---------
| PRODUCT_ID | int型|
| ORDER_DATE | DATE |
|ユニット| int型|
+ --------------- + -------- - +
テーブル主キーは、重複行が含まれていてもよいです。
製品は、PRODUCT_IDが外部キーである形成します。
単位は、日付ORDER_DATE中に製品注文の数です。
 

ない100未満の単一の名前や製品の数の下で2020年2月に番号を得るために必要なSQL文を、書きます。

シーケンスはありません結果シートを返します。

 

次の形式でクエリ結果:

製品表:
+ ------------- + ----------------------- + -------- ---------- +
| PRODUCT_ID | PRODUCT_NAME | PRODUCT_CATEGORY |
+ ------------- + ----------------------- + ----------- ------- +
| 1 | Leetcodeソリューション| ブック|
| 2 | Stringologyの宝石| ブック|
| 3 | HP | ノートパソコン|
| 4 | レノボ| ノートパソコン|
| 5 | Leetcodeキット| Tシャツ|
+ ------------- + ----------------------- + ----------- ------- +

注文表:
+ -------------- + -------------- + ---------- +
| PRODUCT_ID | ORDER_DATE | ユニット|
+ -------------- + -------------- + ---------- +
| 1 | 2020年2月5日| 60 |
| 1 | 2020年2月10日| 70 |
| 2 | 2020年1月18日| 30 |
| 2 | 2020年2月11日| 80 |
| 3 | 2020年2月17日| 2 |
| 3 | 2020年2月24日| 3 |
| 4 | 2020年3月1日| 20 |
| 4 | 2020年3月4日| 30 |
| 4 | 2020年3月4日| 60 |
| 5 | 2020年2月25日| 50 |
| 5 | 2020年2月27日| 50 |
| 5 | 2020年3月1日| 50 |
+ -------------- + -------------- + ---------- +

表結果:
+ -------------------- + --------- +
| PRODUCT_NAME | ユニット|
+ -------------------- + --------- +
| Leetcodeソリューション| 130 |
| Leetcodeキット| 100 |
+ -------------------- + --------- +

2020年2月には、単一の製品の数の和PRODUCT_ID = 1は、(60 + 70)= 130です。
2020年2月には、単一の製品の数の合計が80に= 2 PRODUCT_ID。
2020年2月には、単一の製品の数の和がPRODUCT_ID = 3(2 + 3)= 5です。
2020年2月= 4となし、単一の製品をPRODUCT_ID。
2020年2月には、単一の製品の数の和PRODUCT_ID = 5は、(50 + 50)= 100です。

出典:滞在ボタン(LeetCode)
//leetcode-cn.com/problems/list-the-products-ordered-in-a-period:リンク:httpsの
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。

モデレーション:以下100以上の単一の名前や製品の数の下で2020年2月に番号を得るために必要なSQL文を書きます。

思考:よると、IDと日付のグループ化、集計および100の比較。日付は月に変換する必要があります。

問題解決:

select p.product_name,sum(o.unit) as unit
from
    products p
left join
    orders o 
on
    p.product_id=o.product_id
where
    order_date between '2020-02-01' and '2020-02-29'
group by
    p.product_name
having
    sum(o.unit)>=100
order by
    sum(o.unit)

知識ポイント:

公開された144元の記事 ウォンの賞賛2 ビュー5731

おすすめ

転載: blog.csdn.net/Hello_JavaScript/article/details/104789102