P粉4810352322023-08-29 16:08:14
まず、訂正させていただきますが、これは Navicat クエリではなく、MySQL クエリです。さて、これらは 2 つの異なるものです。 MySQL はデータベースであり、Navicat はツールです。MySQL Workbench、PHPMyAdmin、SQLyog などの他のツールと同様です。グラフィカル インターフェイスを通じてデータベース機能を実行できるように設計されています。
次に、2 つのクエリを示します。MySQL のバージョンに応じて、そのうちの 1 つを使用できます。最初のクエリは次のとおりです:
リーリー上記のクエリは、MySQL または MariaDB のどのバージョンでも実行できるはずです。このクエリの考え方は、idproduct
グループ化によって最小の exp_date
を取得し、それをサブクエリとして使用して product
テーブルに再度接続することです。これら 2 つの抽出された値を照合して、 Selling_price
を抽出できるようにします。
2 番目のクエリ:
リーリーこのクエリは、ウィンドウ関数をサポートする MySQL v8 または MariaDB 10.2 (以降) でのみ実行できます。考え方は前のクエリと少し異なります。ここでは、特定の条件に基づいて ROW_NUMBER()
を生成することに焦点を当て、それをサブクエリにして WHERE
句を追加するだけです。前のクエリと比較して、これには JOIN
操作が必要ありません。
元のクエリで使用されていないため、product
テーブルを考慮していないことがわかりますが、結合する必要があるのに結合できない場合は、方法を知りたいならメッセージを送ってください。何ができるか見てみましょう。