MySQLのSELECT文で各値の末尾にパーセント(%)記号を追加する方法
SELECT文で取得した値の末尾にパーセント(%)記号を追加したい場合は、CONCAT()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、パーセント記号を付けて表示する手順を順番に解説します。
1. サンプルテーブルの作成
まず、以下のようにテーブルを作成します。
mysql> create table DemoTable
(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100),
StudentScore int
);
Query OK, 0 rows affected (0.68 sec)このテーブルは、学生ID(StudentId)、学生名(StudentName)、スコア(StudentScore)の3つのカラムを持つ構成です。
2. テストデータの挿入
次に、INSERTコマンドを使ってレコードをいくつか登録します。
mysql> insert into DemoTable(StudentName,StudentScore) values('John',65);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(StudentName,StudentScore) values('Chris',98);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable(StudentName,StudentScore) values('Robert',91);
Query OK, 1 row affected (0.09 sec)3. 登録したデータの確認
SELECT文でテーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行結果は以下のとおりです。
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | John | 65 | | 2 | Chris | 98 | | 3 | Robert | 91 | +-----------+-------------+--------------+ 3 rows in set (0.00 sec)
4. CONCAT()関数でパーセント記号を追加する
ここが本題です。SELECT文の実行時に、各スコアの値の末尾にパーセント(%)記号を付けて表示するには、次のようなクエリを実行します。
mysql> select StudentId,StudentName,concat(StudentScore,'%') AS StudentScore from DemoTable;
実行結果は以下のとおりです。
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | John | 65% | | 2 | Chris | 98% | | 3 | Robert | 91% | +-----------+-------------+--------------+ 3 rows in set (0.00 sec)
ポイントの解説
上記のクエリでは、concat(StudentScore,'%')によって、数値型のStudentScoreと文字列「%」を連結しています。これにより、元のテーブルのデータを変更することなく、表示の段階だけでパーセント形式に変換できます。
また、AS StudentScoreというエイリアスを指定することで、結果セットのカラム名を元の名前のまま保ち、見やすい出力を実現しています。なお、CONCAT()関数は引数として渡されたすべての文字列を連結する関数であり、数値は自動的に文字列へ変換されるため、明示的なキャストは不要です。
-
MySQLで特定の値だけを検索結果の最後に並び替える方法
MySQLで特定の値を最後に並び替える方法 データベースを扱っていると、「不明」や「未設定」を意味する特定の値だけを、検索結果の一番最後に表示したいケースがあります。MySQLでは、ORDER BY句に比較式を組み合わせることで、このような並べ替えを簡単に実現できます。ここでは、テーブル作成から動作確認まで、サンプルコードとともに手順を解説します。 ステップ1:サンプルテーブルを作成する まず、氏名データを格納するためのテーブルを作成します。 mysql> create table demo57-> (-> id int not null auto_increment pr
-
PythonとMySQLでSELECT DISTINCTを使う方法をわかりやすく解説
SQLのテーブルでは、カラムに重複した値が含まれていることがよくあります。重複した値が多いと、クエリが返す結果の分析が難しくなるため、テーブルのカラムから一意(重複なし)の値だけを取得したいケースがあります。 SELECT DISTINCTが必要になる場面 例えば、「Customers」という顧客情報(名前、年齢、国など)を管理するテーブルがあるとします。顧客がどの国に属しているのかを把握したい場合、インド出身の顧客が10人、アメリカ出身が15人といったように、同じ国の値が何度も現れます。 単純にcountryカラムを選択すると、大量の重複値を含む列全体が返されてしまい、結果の分析が困難にな