ORDER BY a specific word in MySQL



For this, use ORDER BY INSTR(). Let us first create a table −

mysql> create table DemoTable822(Word text); Query OK, 0 rows affected (1.11 sec)

Insert some records in the table using insert command −

mysql> insert into DemoTable822 values('Forever'); Query OK, 1 row affected (0.26 sec) mysql> insert into DemoTable822 values('ever'); Query OK, 1 row affected (1.31 sec) mysql> insert into DemoTable822 values('every'); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable822 values('everyday'); Query OK, 1 row affected (0.58 sec)

Display all records from the table using select statement −

mysql> select *from DemoTable822;

This will produce the following output −

+----------+ | Word     | +----------+ | Forever | | ever | | every | | everyday | +----------+ 4 rows in set (0.00 sec)

Following is the query to order by a specific word in the beginning or inside a string −

mysql> select *from DemoTable822 where Word LIKE '%ever%' order by INSTR(Word, 'ever'), Word;

This will produce the following output −

+----------+ | Word | +----------+ | ever | | every | | everyday | | Forever | +----------+ 4 rows in set (0.00 sec)
Updated on: 2019-09-03T11:53:51+05:30

466 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements