Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでMySQLのMIN()・MAX()関数を使って最小値と最大値を取得する方法

MIN()とMAX()関数とは

MIN()関数とMAX()関数は、テーブルの列(カラム)に対して集計処理を行うためのSQL関数です。

名前の通り、MIN()関数は指定した列の中から最小値を取得して返します。一方、MAX()関数は指定した列の中から最大値を取得して返します。

構文

MIN()

SELECT MIN(column_name) FROM table_name

MAX()

SELECT MAX(column_name) FROM table_name

PythonでMySQLを使って最小値・最大値を取得する手順

  • mysql.connector をインポートする

  • connect() メソッドでデータベースとの接続を確立する

  • cursor() メソッドでカーソルオブジェクトを作成する

  • 適切なSQL文を使ってクエリを作成する

  • execute() メソッドでSQLクエリを実行する

  • 接続を閉じる

ここでは、学生の名前と点数を格納した「Students」というテーブルを例に考えてみます。このテーブルから学生の最低点と最高点を求めたい場合、MIN()関数とMAX()関数が活躍します。Marks列にMIN()関数を適用すれば最低点が、MAX()関数を適用すれば最高点がそれぞれ得られます。

Studentsテーブル

+----------+-----------+
|    name  |    marks  |
+----------+-----------+
|    Rohit |    62     |
|    Rahul |    75     |
|    Inder |    99     |
|   Khushi |    49     |
|    Karan |    92     |
+----------+-----------+

それでは、上記のテーブルから最低点と最高点を実際に取得してみましょう。

コード例

import mysql.connector

db = mysql.connector.connect(
    host="your host",
    user="your username",
    password="your password",
    database="database_name"
)

cursor = db.cursor()

# 最低点を取得
query1 = "SELECT MIN(marks) FROM Students"
cursor.execute(query1)
lowest = cursor.fetchall()
print("最低点:", lowest[0][0])

# 最高点を取得
query2 = "SELECT MAX(marks) FROM Students"
cursor.execute(query2)
highest = cursor.fetchall()
print("最高点:", highest[0][0])

db.close()

実行結果

最低点:49
最高点:99

補足ポイント

  • fetchall() の戻り値はタプル形式(例:((49,),))で返されるため、上記のコードでは [0][0] で値を取り出しています。

  • MIN() や MAX() はNULL値を自動的に無視して計算を行います。

  • 処理が完了したら必ず close() で接続を閉じ、リソースの解放を忘れないようにしましょう。

  1. PythonのMatplotlibで曲線とX軸の間の領域を塗りつぶす方法

    PythonのMatplotlibを使って、曲線とX軸の間の領域を塗りつぶす方法を解説します。データの可視化において、曲線の下側の領域を色で強調することは、グラフの視認性を高めるために非常に有効です。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。NumPyを使用して x および y のデータポイントを作成します。plot() メソッドを使って、x と y のデータポイントをプロットします。fill_between() メソッドを使用して、曲線とX軸の間の領域を塗りつぶします。show() メソッドを呼び出して、図を表示します。コード例import matpl

  2. PythonとMatplotlibで折れ線グラフの終端に注釈(ラベル)を付ける方法

    PythonとMatplotlibを使えば、折れ線グラフの各線の終端に直接ラベル(注釈)を表示できます。これにより、凡例を目で追わなくても、どの線が何を表しているのか一目でわかる、読みやすいグラフを作成できます。 実装の手順 図のサイズを設定し、サブプロット間および周囲の余白を調整します。 データの行数を指定する変数 rows を初期化します。 Pandasのデータフレーム(長方形の表形式データ)を作成します。 データフレームの累積和(cumsum)を計算します。 plot()メソッドでデータフレームをプロットします。 各line(線オブジェクト)とname(列名)を反復処理し、線の終端に注