MySQL query to ORDER BY records on the basis of modulus result



For this, use ORDER BY with a modulus operator. Let us first create a table −

mysql> create table DemoTable (    StudentId int,    StudentName varchar(100) ); Query OK, 0 rows affected (1.88 sec)

Insert some records in the table using insert command −

mysql> insert into DemoTable values(100,'Chris'); Query OK, 1 row affected (0.41 sec) mysql> insert into DemoTable values(101,'Robert'); Query OK, 1 row affected (0.30 sec) mysql> insert into DemoTable values(102,'David'); Query OK, 1 row affected (0.94 sec) mysql> insert into DemoTable values(103,'Mike'); Query OK, 1 row affected (0.23 sec)

Display all records from the table using select statement −

mysql> select *from DemoTable;

This will produce the following output −

+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 100 | Chris | | 101 | Robert | | 102 | David | | 103 | Mike | +-----------+-------------+ 4 rows in set (0.00 sec)

Here is the query to order by with modulus −

mysql> select StudentId,StudentName,StudentId % 2,StudentId % 3 from DemoTable order by StudentId % 2,StudentId % 3;

This will produce the following output −

+-----------+-------------+---------------+---------------+ | StudentId | StudentName | StudentId % 2 | StudentId % 3 | +-----------+-------------+---------------+---------------+ | 102 | David | 0 | 0 | | 100 | Chris | 0 | 1 | | 103 | Mike | 1 | 1 | | 101 | Robert | 1 | 2 | +-----------+-------------+---------------+---------------+ 4 rows in set (0.00 sec)
Updated on: 2019-09-30T07:08:44+05:30

169 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements