By default, the MySQL GROUP BY
clause orders the result in ascending order. To demonstrate this, let's suppose you have the following table:
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO user(name)
VALUES ('john'), ('david'), ('john'), ('john'), ('wayne'), ('david');
If you run the SELECT
statement on this table, you will see the following output:
+----+--------+
| id | name |
+----+--------+
| 1 | john |
| 2 | david |
| 3 | john |
| 4 | john |
| 5 | wayne |
| 6 | david |
+----+--------+
When you add the GROUP BY
clause to the SELECT
statement, you will see that the result is sorted in ascending order based on the values in the grouped column:
SELECT *
FROM user
GROUP BY name
This would result in the following:
+----+--------+
| id | name |
+----+--------+
| 2 | david |
| 1 | john |
| 5 | wayne |
+----+--------+
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.