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コンテナの制作と展開の実装方法

推薦する

Linux 向けの強化されたスクリーンショットと共有ツール: ScreenCloud

ScreenCloud は、必要だとは思わなかった素晴らしい小さなアプリです。デスクトップ Lin...

15行のCSSコードがAppleデバイスをクラッシュさせる可能性があり、最新のiOS 12も例外ではない

たった15行のCSSでiPhoneがクラッシュするWire のセキュリティ研究者 Sabri Had...

UIエンジニアのキャリアについての私たちの考え

私は長い間落ち込んでいます、なぜでしょうか?以前、お客様から、提供されたソフトウェアが正常に動作しな...

Vueは複数のカウントダウンを同時に設定する機能を実装しています

この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...

Linux (Ubuntu 18.04) に Anaconda をインストールする詳細な手順

Anaconda は、大規模なデータ処理、予測分析、科学計算のための最も人気のある Python デ...

JS配列重複排除の詳細

目次1 テストケース2 JS配列重複排除4種類2.1 要素の比較2.1.1 二重層 for ループ比...

HTML タグのセマンティクス化 (H5 を含む)

導入HTML は、Web ドキュメントのコンテンツのコンテキスト構造と意味を提供します。HTML 自...

時間のかかるDockerエラーのトラブルシューティングプロセス記録

目次起源環境情報トラブルシューティングのプロセス要約する起源顧客は CentOS をベースにしたカス...

純粋な CSS ドロップダウン メニュー

成果を達成する実装コードhtml <div id="コンテナ"> &...

Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法

序文Vue アプリケーションなどの静的ページを開発する場合、クロスドメインになる可能性のあるインター...

Windows で mysql5.7.21 をインストールするための詳細なチュートリアル

この記事では、参考までにMySQL 5.7.21のインストールチュートリアルを紹介します。具体的な内...

JavaScript の new 演算子を自分で実装する方法

目次コンストラクタ新しいオペレーター自分で新しいものを実装するコンストラクタnew を導入する前に、...

MySQLにログインする際のエラー「ERROR 1045 (28000)」を解決する方法

今日はサーバーにログインして、データベース内のいくつかのものを変更する準備をしました。しかし、パスワ...