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

別の列の文字列から最初のアルファベットを表示するMySQLクエリ


文字列から最初のアルファベットをフェッチするには、LEFT()を使用します。このメソッドを使用すると、文字列の左側から文字を返すことができます。

最初に例を見て、テーブルを作成しましょう-

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(100)
);
Query OK, 0 rows affected (1.03 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(FirstName) values('John');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(FirstName) values('Adam');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(FirstName) values('Jace');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FirstName) values('Chris');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(FirstName) values('Bob');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(FirstName) values('Carol');
Query OK, 1 row affected (0.11 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----+-----------+
| Id | FirstName |
+----+-----------+
|  1 | John      |
|  2 | Adam      |
|  3 | Jace      |
|  4 | Chris     |
|  5 | Bob       |
|  6 | Carol     |
+----+-----------+
6 rows in set (0.00 sec)

以下は、文字列値を含む列の最初のアルファベットを表示するためのクエリです。結果は新しい列に表示されます-

mysql> select Id,FirstName,upper(left(FirstName,1)) AS FirstLetter from DemoTable order by FirstName;

これにより、次の出力が生成されます-

+----+-----------+-------------+
| Id | FirstName | FirstLetter |
+----+-----------+-------------+
|  2 | Adam      | A           |
|  5 | Bob       | B           |
|  6 | Carol     | C           |
|  4 | Chris     | C           |
|  3 | Jace      | J           |
|  1 | John      | J           |
+----+-----------+-------------+
6 rows in set (0.03 sec)

  1. テーブルから特定の学生のマークをグループ化し、各学生の個別の列に合計マークを表示しますか?

    マークをグループ化するには、MySQLGROUPBYを使用します。合計するには、MySQLのsum()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1920    (    StudentName varchar(20),    StudentMarks int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert

  2. 多くの行の文字列を1つの行に結合し、対応するユーザーIDの合計を別の列に表示する単一のMySQLクエリ?

    これには、GROUP_CONCAT()を使用できます。 SUM()を使用してユーザーIDを追加します。まずテーブルを作成しましょう- mysql> create table DemoTable1960    (    StudentId int,    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa