Categories
MySQL

MySQL ORDER BY Clause

Using MySQL ORDER BY Clause you can sort table columns by ascending or descending.

Suppose we have a table ‘tbl’ with column ‘name’ and a row like below values:

1
1B
10
2
10C
2A
10Z
You may like:  MySQL INDEX

So, when you sort by name:

SELECT name
FROM tbl
ORDER BY name;

So, when you sort by that column you will get the result:

1
10
10C
10Z
1B
2
2A

This is not like that what we expected. This ia natural sorting.
So we need to CAST this to get our desired result like below:

SELECT name
FROM tbl
ORDER BY CAST(name AS UNSIGNED);

Result:
1
1B
2
2A
10
10C
10Z

ORDER BY FIELD:

Sometimes a specific order is required in a query which cannot be done using either ASC or DESC or using a special sort field.
Using FIELD( ) function in the ORDER BY clause you can achieve this.

SELECT name
FROM tbl
ORDER BY FIELD(name, '1B', '2A') desc;

Result:
2A
1B
1
10
2
10C
10Z

Avatar for Namaste UI (Author)

By Namaste UI (Author)

Namaste UI collaborates closely with clients to develop tailored guest posting strategies that align with their unique goals and target audiences. Their commitment to delivering high-quality, niche-specific content ensures that each guest post not only meets but exceeds the expectations of both clients and the hosting platforms. Connect with us on social media for the latest updates on guest posting trends, outreach strategies, and digital marketing tips. For any types of guest posting services, contact us on info[at]namasteui.com.

Leave a Reply

Your email address will not be published. Required fields are marked *