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

推薦する

WeChatミニプログラムユーザー認証による携帯電話番号の取得(getPhoneNumber)

序文ミニプログラムには、ユーザーを取得するための非常に便利な API があり、getPhoneNum...

CocosCreator最適化DrawCallの詳細な説明

目次序文ドローコールとはDrawCall はパフォーマンスにどのような影響を与えますか?ドローコール...

Dockerはローカルイメージとコンテナの保存場所を設定します

指定したサイズより大きいファイルを検索するには、find コマンドを使用します。 検索 / -typ...

Web ページは何ピクセルで設計すればよいでしょうか?

多くのウェブデザイナーは、ウェブページのレイアウトを設計する際に、インターフェースウェブページの幅に...

カルーセル効果を作成するためのjs

カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...

Docker コンテナの uid と gid の詳細な理解

デフォルトでは、コンテナ内のプロセスは root ユーザー権限で実行され、この root ユーザーは...

JavaScript スネーク実装コード

この記事の例では、参考までに貪欲なスネークを実装するためのJavaScriptの具体的なコードを共有...

react-color を使用してフロントエンドのカラーピッカーを実装する方法

背景次の図に示すように、 react-color を使用してフロントエンド インターフェースのカラー...

iptables の再起動後に Docker の iptables ルールの完全なプロセスが失われる

原因と結果1. ansibleコマンドを使用してジャンプサーバー上のマシンBをテストすると、次のエラ...

JS の querySelector メソッドと getElementById メソッドの違い

目次1. 概要1.1 querySelector() と querySelectorAll() の使...

15 分で学べる並列アーティファクト GNU Parallel 入門ガイド

GNU Parallel は、1 台以上のコンピューター上で計算タスクを並列に実行するためのシェル ...

初心者のためのウェブサイト構築入門 - ウェブサイト構築に必要な条件とツール

今日は、初心者の次のような質問に答えます。学ぶ勇気さえあれば、自分のウェブサイトを構築するのは簡単で...

Mysql5.7 以降での ONLY_FULL_GROUP_BY エラーの解決方法

最近、開発プロセス中に、プロジェクト開発環境に接続されている MySQL データベースは Aliba...

Vue echarts は棒グラフの動的な表示を実現します

この記事では、棒グラフの動的な表示を実現するためのvue echartsの具体的なコードを参考までに...

ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

Linux ではすべてがファイルなので、Android システム自体は Linux + Java だ...