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

選択クエリから列を追加する方法ですが、新しい列の値はMySQL選択クエリの行数になりますか?


このために、MySQL row_number()を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable1342
   -> (
   -> Score int
   -> );
Query OK, 0 rows affected (0.68 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1342 values(80);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1342 values(98);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1342 values(78);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1342 values(89);
Query OK, 1 row affected (0.07 sec)

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

mysql> select * from DemoTable1342;

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

+-------+
| Score |
+-------+
|    80 |
|    98 |
|    78 |
|    89 |
+-------+
4 rows in set (0.00 sec)

以下は、選択クエリから列を追加するためのクエリですが、新しい列の値は、MySQL選択クエリの行数になります-


mysql> select Score,row_number() over() as `Rank` from DemoTable1342 order by Score DESC;

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

+-------+------+
| Score | Rank |
+-------+------+
|    98 |    1 |
|    89 |    2 |
|    80 |    3 |
|    78 |    4 |
+-------+------+
4 rows in set (0.32 sec)

  1. 対応する列の値からNO値のみのカウントを返すMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable1829      (      Name varchar(20),      isTopper ENUM('YES','NO')      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTabl

  2. MySQLで列が複数の値を満たす必要がある場合に行を選択するにはどうすればよいですか?

    このために、IN()とともにGROUPBYHAVING句を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1885    (    FirstName varchar(20),    Subject varchar(50)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1885 val