دستورات 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
- مرتبسازی دادهها
- گروهبندی دادهها