Development

How to do a MySQL GROUP BY with ORDER BY on a COUNT()

MySQL Group by returns the data of the same value into a set rows. It is often use with COUNT, SUM or AVG etc. Doing this will return how often that GROUP BY value is found.

Order by simply orders the data either by ASC (ascending) or DESC (descending).

Combing these two into a query has its benefits. Assuming you wanted to see how many times a username has logged in from most to least, you need a COUNT, GROUP BY and ORDER BY.

Just throwing these into a query unfortunately doesn’t work, they need to be sequential.

Based on the above scenario here is a working MySQL query that has a COUNT, GROUP BY and ORDER BY

SELECT username, COUNT(*) AS the_count
FROM login_data
GROUP BY username
ORDER BY the_count DESC

It will return every username in the login_data table with how many times they have logged in (based on how many times their username appears) ordered by most to least (DESC).

 

Share
Tags: How toMYSQL

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

1 year ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

1 year ago

FTP getting array of file details such as size using PHP

Using FTP and PHP to get an array of file details such as size and…

2 years ago

Creating Laravel form requests

Creating and using Laravel form requests to create cleaner code, separation and reusability for your…

2 years ago

Improving the default Laravel login and register views

Improving the default Laravel login and register views in such a simple manner but making…

2 years ago

Laravel validation for checking if value exists in the database

Laravel validation for checking if a field value exists in the database. The validation rule…

2 years ago