Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में GROUP BY का उपयोग करके विशिष्ट कंपनी के कर्मचारी नाम कैसे प्राप्त करें?

MySQL में WHERE और GROUP BY का उपयोग करके विशिष्ट कंपनी के अद्वितीय कर्मचारी नाम प्राप्त करना

किसी विशिष्ट कंपनी के कर्मचारियों के अद्वितीय नाम प्राप्त करने के लिए WHERE से कंपनी फ़िल्टर करें और GROUP BY से डुप्लिकेट नाम हटाएं।

उदाहरण के साथ पूर्ण कार्यान्वयन

टेबल बनाना

mysql> CREATE TABLE DemoTable642 (
    EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeName VARCHAR(100),
    EmployeeCompanyName VARCHAR(100)
);

नोट: मूल कोड में टाइपो था (archar, varchar बिना स्पेस), जिसे ठीक किया गया है।

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable642(EmployeeName, EmployeeCompanyName) VALUES
('John', 'Google'), ('Carol', 'Microsoft'), ('John', 'Amazon'), 
('Carol', 'Google'), ('John', 'Flipkart');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable642;

आउटपुट:

+------------+--------------+---------------------+
| EmployeeId | EmployeeName | EmployeeCompanyName |
+------------+--------------+---------------------+
| 1          | John         | Google              |
| 2          | Carol        | Microsoft           |
| 3          | John         | Amazon              |
| 4          | Carol        | Google              |
| 5          | John         | Flipkart            |
+------------+--------------+---------------------+
5 rows in set (0.00 sec)

Google कंपनी के अद्वितीय कर्मचारी नाम

mysql> SELECT EmployeeName FROM DemoTable642
WHERE EmployeeCompanyName = 'Google'
GROUP BY EmployeeName;

आउटपुट:

+--------------+
| EmployeeName |
+--------------+
| John         |
| Carol        |
+--------------+
2 rows in set (0.00 sec)

कैसे काम करता है:

  1. WHERE EmployeeCompanyName = 'Google' - केवल Google के कर्मचारी (पंक्ति 1, 4)
  2. GROUP BY EmployeeName - नाम के अनुसार समूह, डुप्लिकेट हटाता है
  3. परिणाम: John, Carol (प्रत्येक एक बार)

DISTINCT विकल्प (अधिक सरल और मानक)

SELECT DISTINCT EmployeeName 
FROM DemoTable642 
WHERE EmployeeCompanyName = 'Google';

यह समान परिणाम देता है लेकिन अधिक पठनीय और मानक SQL है।

GROUP BY vs DISTINCT

एग्रीगेशन के साथ GROUP BY

SELECT EmployeeName, COUNT(*) AS companies_count
FROM DemoTable642
WHERE EmployeeCompanyName = 'Google'
GROUP BY EmployeeName;

आउटपुट:

+--------------+-----------------+
| EmployeeName | companies_count |
+--------------+-----------------+
| John         | 1               |
| Carol        | 1               |
+--------------+-----------------+

एकाधिक कंपनियों में काम करने वाले कर्मचारी

SELECT EmployeeName, COUNT(DISTINCT EmployeeCompanyName) AS company_count
FROM DemoTable642
GROUP BY EmployeeName
HAVING company_count > 1;

आउटपुट: John (3 कंपनियाँ), Carol (2 कंपनियाँ)

  1. - MySQL में SELECT INTO वेरिएबल से विशिष्ट पंक्ति का एकल मान प्राप्त करें

    SELECT column INTO @variable FROM table WHERE condition का उपयोग करके एकल पंक्ति का एकल मान यूज़र-डिफ़ाइन्ड वेरिएबल में संग्रहीत करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1896 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20), StudentMarks INT ); डेटा

  1. - MySQL में विशिष्ट पंक्ति प्राप्त करना

    WHERE, ORDER BY और LIMIT से विशिष्ट पंक्ति चुनें टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1972 ( Section char(1), StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1972 values(D,Chris); ... क्वेरी: C से बड़े सेक्शन को क्रमबद्ध करके पहले 2

  1. - MySQL में JOIN से दूसरी टेबल के ID द्वारा उपयोगकर्ता नाम कैसे प्राप्त करें?

    JOIN सिंटैक्स select username from table1 join table2 on table1.id = table2.fk_id; उदाहरण टेबल 1 (demo77): userid (PK), username insert into demo77 values(1,John), (2,Bob), (3,Mike); टेबल 2 (demo78): id (PK, FK→demo77), countryname insert into demo78 values(1,US), (2,AUS); JOIN क्वेरी और परिणा

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
पहलूGROUP BYDISTINCT
उद्देश्यएग्रीगेशन + डुप्लिकेट हटानाकेवल डुप्लिकेट हटाना
एग्रीगेट फ़ंक्शनसमर्थित (COUNT, SUM, आदि)सीधे समर्थित नहीं
क्रम गारंटीMySQL में क्रमबद्ध कर सकता हैक्रम गारंटी नहीं
प्रदर्शनसमान (अनुकूलक समान)समान