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

MySQLの最初と最後以外のすべての行を取得します


最初と最後以外のすべての行を取得するには、MIN()およびMAX()とともにサブクエリを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1917
   (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentCode int,
   StudentMarks int
   );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1917(StudentCode,StudentMarks) values(78,95);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1917(StudentCode,StudentMarks) values(78,96);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1917(StudentCode,StudentMarks) values(78,97);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1917(StudentCode,StudentMarks) values(78,98);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1917(StudentCode,StudentMarks) values(78,99);
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1917;

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

+-----------+-------------+--------------+
| StudentId | StudentCode | StudentMarks |
+-----------+-------------+--------------+
|         1 |          78 |           95 |
|         2 |          78 |           96 |
|         3 |          78 |           97 |
|         4 |          78 |           98 |
|         5 |          78 |           99 |
+-----------+-------------+--------------+
5 rows in set (0.00 sec)

最初と最後を除くすべての行を取得するためのクエリは次のとおりです。

mysql> select * from DemoTable1917
   where StudentId NOT IN
   (
   (
   select min(StudentId) from DemoTable1917 where StudentCode=78),
   (select max(StudentId) from DemoTable1917 where StudentCode=78)
   ) and StudentCode=78;
>

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

+-----------+-------------+--------------+
| StudentId | StudentCode | StudentMarks |
+-----------+-------------+--------------+
|         2 |          78 |           96 |
|         3 |          78 |           97 |
|         4 |          78 |           98 |
+-----------+-------------+--------------+
3 rows in set (0.00 sec)

  1. MySQLテーブルからすべての行を削除するにはどうすればよいですか?

    TRUNCATEステートメントまたはDROPステートメントのいずれかを使用して、テーブルからすべての行を削除できます。 DELETEステートメントを使用して実行することもできますが、その場合、WHERE句はテーブルのすべての行を識別する必要があります。 TRUNCATEステートメントとDELETEステートメントの両方がテーブルの構造を削除しないことはわかっていますが、それでもDELETEステートメントよりもTRUNCATEステートメントを使用する方が適切です。 DROPステートメントはテーブルの構造も削除します。 構文 TRUNCATEステートメント TRUNCATE table tabl

  2. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(