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() で接続を閉じ、リソースの解放を忘れないようにしましょう。
-
PythonのMatplotlibで曲線とX軸の間の領域を塗りつぶす方法
PythonのMatplotlibを使って、曲線とX軸の間の領域を塗りつぶす方法を解説します。データの可視化において、曲線の下側の領域を色で強調することは、グラフの視認性を高めるために非常に有効です。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。NumPyを使用して x および y のデータポイントを作成します。plot() メソッドを使って、x と y のデータポイントをプロットします。fill_between() メソッドを使用して、曲線とX軸の間の領域を塗りつぶします。show() メソッドを呼び出して、図を表示します。コード例import matpl
-
PythonとMatplotlibで折れ線グラフの終端に注釈(ラベル)を付ける方法
PythonとMatplotlibを使えば、折れ線グラフの各線の終端に直接ラベル(注釈)を表示できます。これにより、凡例を目で追わなくても、どの線が何を表しているのか一目でわかる、読みやすいグラフを作成できます。 実装の手順 図のサイズを設定し、サブプロット間および周囲の余白を調整します。 データの行数を指定する変数 rows を初期化します。 Pandasのデータフレーム(長方形の表形式データ)を作成します。 データフレームの累積和(cumsum)を計算します。 plot()メソッドでデータフレームをプロットします。 各line(線オブジェクト)とname(列名)を反復処理し、線の終端に注