دستورات SORT و GROUP BY در MySQL
در MySQL، برای سازماندهی و دستهبندی خروجیهای جداول، از دو دستور مهم ORDER BY و GROUP BY استفاده میشود. این دستورات امکان مرتبسازی دادهها و گروهبندی نتایج بر اساس ستونهای مشخص را فراهم میکنند.
سازماندهی خروجی با دستورات SORT و GROUP BY در MySQL
جدول نمونه useritvisit قبل از تغییرات
فرض کنید جدولی به نام useritvisit دارید که شامل ستونهای id, first_name, last_name, department, و salary است. ساختار این جدول به صورت زیر است:
ساختار جدول useritvisit
CREATE TABLE useritvisit (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
department VARCHAR(50),
salary DECIMAL(10, 2)
);دادههای نمونه قبل از تغییرات
INSERT INTO useritvisit (first_name, last_name, department, salary) VALUES
('Ali', 'Rezaei', 'HR', 5000.00),
('Sara', 'Ahmadi', 'IT', 6000.50),
('Reza', 'Mohammadi', 'IT', 5500.75),
('Mehrdad', 'Yari', 'Finance', 7000.00);جدول useritvisit قبل از تغییرات
| id | first_name | last_name | department | salary |
|---|---|---|---|---|
| 1 | Ali | Rezaei | HR | 5000.00 |
| 2 | Sara | Ahmadi | IT | 6000.50 |
| 3 | Reza | Mohammadi | IT | 5500.75 |
| 4 | Mehrdad | Yari | Finance | 7000.00 |
مرتبسازی دادهها با ORDER BY
دستور ORDER BY برای مرتبسازی نتایج بر اساس یک یا چند ستون استفاده میشود. به عنوان مثال، برای مرتبسازی نتایج بر اساس salary به صورت نزولی، میتوانید از دستور زیر استفاده کنید:
SELECT id, first_name, last_name, salary
FROM useritvisit
ORDER BY salary DESC;نتیجه مرتبسازی
| id | first_name | last_name | salary |
|---|---|---|---|
| 4 | Mehrdad | Yari | 7000.00 |
| 2 | Sara | Ahmadi | 6000.50 |
| 3 | Reza | Mohammadi | 5500.75 |
| 1 | Ali | Rezaei | 5000.00 |
گروهبندی دادهها با GROUP BY
دستور GROUP BY برای گروهبندی نتایج بر اساس یک یا چند ستون استفاده میشود. این دستور اغلب همراه با توابع تجمعی مانند SUM, AVG, و COUNT به کار میرود. برای محاسبه مجموع حقوق در هر بخش، میتوانید از دستور زیر استفاده کنید:
SELECT department, SUM(salary) AS total_salary
FROM useritvisit
GROUP BY department;نتیجه گروهبندی
| department | total_salary |
|---|---|
| Finance | 7000.00 |
| HR | 5000.00 |
| IT | 11501.25 |
ترکیب ORDER BY و GROUP BY
در MySQL، میتوانید GROUP BY و ORDER BY را با هم ترکیب کنید تا ابتدا دادهها را گروهبندی کرده و سپس نتایج گروهبندیشده را مرتب کنید.
مثال:
محاسبه مجموع حقوق هر بخش و سپس مرتبسازی بر اساس مجموع حقوق به صورت نزولی:
SELECT department, SUM(salary) AS total_salary
FROM useritvisit
GROUP BY department
ORDER BY total_salary DESC;نتیجه ترکیب ORDER BY و GROUP BY
| department | total_salary |
|---|---|
| IT | 11501.25 |
| Finance | 7000.00 |
| HR | 5000.00 |
نتیجهگیری
دستورات ORDER BY و GROUP BY در MySQL ابزارهای قدرتمندی برای سازماندهی و دستهبندی دادهها هستند. با استفاده از این دستورات، میتوانید نتایج پرسوجوهای خود را به شکلی مرتب و قابل فهمتر ارائه دهید که در تحلیل و گزارشدهی بسیار مفید است.
منابع
کلیدواژهها
- MySQL
- سازماندهی دادهها
- دستور ORDER BY
- دستور GROUP BY
- مرتبسازی دادهها
- گروهبندی دادهها





