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

推薦する

Tomcat でサーブレット URL パターンを構成する際の問題の詳細な説明

tomcat の web.xml を構成する場合、サーブレットは比較的重要な問題です。ここでは、サー...

JavaScriptの記事では、Webフォームの操作方法を説明します。

1. はじめに先ほど、ウェブページの急速な発展について紹介しました。今回は、より深い内容についてお...

Linuxでawkを使用する方法の詳細な説明

awk を学ぶ前に、sed、grep、tr、cut などのコマンドを学んでおく必要があります。これら...

PHP で JSON バックスラッシュを削除する例

1. 「stripslashes($_POST['json']);」メソッドを使用し...

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...

dockerでopenGaussデータベースを構成する方法の詳細な説明

Windowsユーザー向けDocker で openGauss を使用するopenGaussイメージ...

Linux システムにおける時間設定の概要

1. 時間の種類は次のように分けられます。 1. ネットワーク時間(タイムゾーンの設定、ntpサーバ...

CSS チュートリアル: CSS 属性メディア タイプ

スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...

js と jQuery での Ajax の使用例の詳細

目次ネイティブJS GETリクエストの送信方法投稿リクエストの送信方法パラメータ付きのGETリクエス...

JavaScript 配列重複排除問題の詳細な研究

目次序文 👀リサーチを始めましょう🐱‍🏍オリジナル🧶 indexOf を使用した元の方法の最適化 ✍...

MySQL のレイテンシ問題とデータフラッシュ戦略プロセスの分析

目次1. MySQLレプリケーションプロセス2. MySQLの遅延問題の分析3. プロモーション期間...

MySQL 5.7.17 圧縮パッケージのインストール不要の構成プロセス図

MySQL データベース管理ソフトウェアには、エンタープライズ エディションとコミュニティ エディシ...

MySQLの結合の基本原理についての簡単な説明

目次結合アルゴリズム駆動テーブルと非駆動テーブルの違い1. 単純なネストループ結合、単純なネスト、イ...

nginx を使用してカナリアリリースをシミュレートする方法

この記事では、ブルーグリーン デプロイメントと、nginx を使用してカナリア リリースを最も簡単な...