Leetcodeの要約-Mysqlのトピックと知識ポイント(197.気温の上昇)

Computer Xiaobai QAQ、夏のインターンシップをいくつか見つけたいので、メンバーを埋めて、leetcodeのmysql部分に焦点を当てたいと思います。この一連のブログ投稿を書いて、あなたとコミュニケーションを取りましょう。今後も準備された質問のいくつかを更新していきます。ようこそ、あなたとコミュニケーションを取り、大物にQAQをスプレーしてもらいます。初心者の方は遠回りも多いので、細かく書いてみますので、今後の友達のお手伝いができたら、メッセージを残して励ましてください。

197章:気温の上昇

出力結果を期待する結果に少し調整できるので、質問を消し去るのが好きですが、Niuke.comは、出力を送信せずに仕事に応募するシーンのようなものです。最終的な分析では、それはまだです。 QAQが良すぎます。

知識ポイント1:デカルト積の接続方法。左接続、右接続、内部接続の完全接続について説明する前に、ここでは新しい接続方法を紹介します。同じ例が同じです。テーブル1のIDが1、2、3で、テーブル2のIDが2、3、4の場合、デカルト積接続を使用する場合、テーブル1のIDは各IDと結合されます。新しいテーブルを形成するためのテーブル2の2つの列は、2つが等しいかどうかに関係なく、つまり、上記の例では、2つのテーブルのIDは合計9行(1,2 )、(1,3)、(1,4)など。したがって、デカルト積によって形成されるテーブルは、通常の結合よりも高い次元になります。具体的な建設プロセスは表1、表2からです。

ナレッジポイント2:DATEDIFF(date1、date2)は、開始時刻date1と終了時刻date2の間の日数を返します。date1とdate2は、日付または日付と時刻の式です。

注1:SQLでは、Pythonで一般的に使用される二重等号 "=="の代わりに、単一の等号 "="が直接使用されます

注2:接続方法に関係なく、注意が必要です。2つのテーブルの列名は同じです。どちらのテーブルが列であるかを指定する必要があります。テーブルn。列名。また、列名を漠然と直接記述しないでください。

アイデア:SQLの場合、上下よりも左右を比較する方が簡単なので、最初にテーブルを2つとして扱い、次に左右に接続しますが、接続方法を使用する場合、2つのテーブルはまったく同じであるためです。前述のように、前の表よりも情報が少ないのと同じなので、デカルト積と呼ばれる新しい接続方法を使用して2つの表を接続し、同時に2つの日付の差を1つ除外します。日と翌日の気温が高い前日のIDが返されます。

コード:

Weather as w1、Weather as w2からw1.idを選択します。ここで、datediff(w1.recordDate、w2.recordDate)= 1およびw1.Temperature> w2.Temperature

おすすめ

転載: blog.csdn.net/weixin_43167461/article/details/113184080