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

2つのフィールドとNULL値を時系列で並べ替えるMySQLクエリ?


最初にテーブルを作成しましょう-

mysql> create table DemoTable
-> (
-> FirstName varchar(100),
-> LastName varchar(100)
-> );
Query OK, 0 rows affected (1.39 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('Sam','Brown');
Query OK, 1 row affected (0.25 sec)

mysql> insert into DemoTable values(null,'Smith');
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable values('David','Taylor');
Query OK, 1 row affected (0.22 sec)

mysql> insert into DemoTable values('Mike',null);
Query OK, 1 row affected (0.45 sec)

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

mysql> select *from DemoTable;

出力

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

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Sam       | Brown    |
| NULL      | Smith    |
| David     | Taylor   |
| Mike      | NULL     |
+-----------+----------+
4 rows in set (0.06 sec)

これは、2つのフィールドで並べ替えるクエリであり、場合によってはNULL値を時系列で並べ替えます-

mysql> select *from DemoTable order by coalesce(FirstName,LastName);

出力

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

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| David     | Taylor   |
| Mike      | NULL     |
| Sam       | Brown    |
| NULL      | Smith    |
+-----------+----------+
4 rows in set (0.04 sec)

  1. MySQLでそのような列値の1つがnullの場合、2つの列を連結します

    クエリの実行中に問題が発生しないようにするには、IFNULL()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1793      (      StudentFirstName varchar(20),      StudentLastName varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコード

  2. 2つの列からすべての列値をカウントし、合計カウントからNULL値を除外するMySQLクエリ?

    まずテーブルを作成しましょう- mysql> create table DemoTable1975    (    StudentName varchar(20),    StudentMarks int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1975 values('John',45); Query OK, 1 r