SQL で行の最大値または最小値を取得する方法

SQL で行の最大値または最小値を取得する方法

元データと対象データ

SQL文を実装する(最大)

選択
店、
月、
最大(dz,fz,sp) が最大値となる
から
テーブル名;

SQL ステートメントを実装する (最低限)

選択
店、
月、
最小 (dz,fz,sp) を min として
から
テーブル名;

補足: SQL Server で行内の複数の列の最大値を取得する 3 つの方法

テーブル内の複数の列から最大値を取得する必要がある場合があります (これらの列は同じデータ型を持ち、レコードの各行に最大値が必要です)。以下に3つの方法を説明します。一緒に見ていきましょう。

まず、次のようにテーブルを作成し、必要なレコードをテーブルに挿入します。

テーブルデモの作成(
 Guid varchar(50) NULLでないデフォルトnewid()主キー、
 Date1 日付時刻 null、
 Date2 日付時刻 null、
 Date3 日付時刻 null
)

次に、テストデータをテーブルに挿入します

Demo(Date1,Date2,Date3)の値を挿入する
('2016-9-5'、'2016-8-6'、'2016-10-9')、
('2015-5-6'、'2015-8-6'、'2015-6-3')、
('2016-10-6'、'2015-6-6'、'2016-9-6')

デモから*を選択

上記に記録された各行の 3 つの日付列の最大値を取得する必要があります。

方法1(高効率):

Guid を選択し、(Select Max(NewDate) from (values ​​(Date1),(Date2),(Date3)) as #temp(NewDate)) as MaxDate from Demo

方法2(高効率):

Demo から MaxDate として Guid、max(NewDate) を選択し、(Date1,Date2,Date3) の DateVal の NewDate を u として unpivot し、Guid でグループ化します。

方法 3 (効率が低いため、推奨されません):

Guid を選択し、(select max(NewDate) as MaxDate from (select Demo.Date1 as NewDate union select Demo.Date2 union select Demo.Date3)ud) MaxDate from Demo

最初の方法は、values 句を使用して、各データ行を 1 つのフィールドのみを持つテーブルに構築し、最大値を見つけるという非常に賢い方法です。

2 番目の方法では、行から列への変換によく使用される UNPIVOT キーワードを使用して変換してから表示します。

3 番目の方法は最初の方法と似ていますが、union を使用して 3 つの UpdateByAppDate フィールドを 1 つのフィールドのみを含む結果セットに結合し、最大値を見つけます。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • SQLはSQL Server接続とクエリステートメントの最大数を設定します
  • Mysql で ID の最大値、テーブル内のレコードの総数、その他の関連する問題を取得するための方法の概要
  • MySQL でグループ化した後、各グループの最大値を取得する詳細な例

<<:  HTML テーブルタグチュートリアル (11): 水平方向の配置属性 ALIGN

>>:  Docker Nginxコンテナの制作と展開の実装方法

推薦する

macOS での MySQL 8.0.17 のインストールと簡単な設定チュートリアル

私が書いた内容が理解できない場合は、インターネット上に理解できるチュートリアルがない可能性があります...

Dockerコアとインストールの具体的な使い方

1. Docker とは何ですか? (1)DockerはLinuxコンテナ内でアプリケーションを実行...

MySQL よく使われる関数の詳細な概要

目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...

便利なモバイルスクロールプラグイン BetterScroll

目次スクロールをスムーズにするBetterScrollのスクロール体験慣性ローリングエッジリバウンド...

Linux ソフトウェアのインストール場所を確認する簡単な方法

1. ソフトウェアのインストールパスを確認します。 Linuxソフトウェアをインストールできる場所は...

MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるようになりました (例)

MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるよう...

Dockerfile テキストファイルの使用例の分析

Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...

MySQL マスタースレーブ同期の原理と応用

目次1. マスタースレーブ同期原理マスタースレーブ同期アーキテクチャ図(非同期同期)マスタースレーブ...

Windows での MySQL 8.0.15 の詳細なインストールと使用のチュートリアル

この記事では、MySQL 8.0.15の詳細なインストールと使用方法のチュートリアルを参考までに紹介...

HTML テーブルレイアウト例の説明

HTML ドキュメント内の要素は次々に配置され、ブロックレベル要素の前後に改行が追加されるだけで、合...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

Nginx サーバーが Systemd カスタム サービス プロセス分析を追加

1. nginxを例に挙げるyumコマンドを使用してNginxをインストールしましたSystemd ...

ES6分解課題の原理と応用

目次配列分割代入オブジェクトの分解代入分割割り当ての適用変数の値の交換関数から複数の値を返すマップ構...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

MySQLクエリが遅い理由

目次1. 遅いところはどこですか? 2. 不要なデータをクエリしましたか? 1. 不要なレコードをク...