การนับและผลรวม

SQL Server ระดับกลาง

Ginger Grant

Instructor

ตรวจสอบจำนวนแถวด้วย COUNT

SELECT COUNT(*) FROM Incidents
+-----------------+
|(No column name) |
+-----------------+
|6452             | 
+-----------------+
SQL Server ระดับกลาง

COUNT ร่วมกับ DISTINCT

COUNT(DISTINCT COLUMN_NAME)
SQL Server ระดับกลาง

COUNT กับ DISTINCT ใน T-SQL (I)

SELECT COUNT(DISTINCT Country) AS Countries
FROM Incidents
+----------------+
|Countries       |
+-----------------+
|3               |
+-----------------+
SQL Server ระดับกลาง

COUNT กับ DISTINCT ใน T-SQL (II)

SELECT COUNT(DISTINCT Country) AS Countries,
COUNT(DISTINCT City) AS Cities 
FROM Incidents
+----------------+-------------+
|Countries       | Cities      |
+-----------------+-------------+
|3               | 3566        |
+-----------------+-------------+
SQL Server ระดับกลาง

COUNT AGGREGATION

  • GROUP BY ใช้ร่วมกับ COUNT() ได้เช่นเดียวกับฟังก์ชัน Aggregation อื่น ๆ เช่น AVG(), MIN(), MAX()

  • ใช้คำสั่ง ORDER BY เพื่อเรียงลำดับค่า

    • ASC เรียงจากน้อยไปมาก (ค่าเริ่มต้น)
    • DESC เรียงจากมากไปน้อย
SQL Server ระดับกลาง

COUNT กับ GROUP BY ใน T-SQL

-- Count the rows, subtotaled by Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country 
+----------------------+-----------------+
|TotalRowsbyCountry   | Country         |
+----------------------+-----------------+
|5452                 |us               |
|750                  |NULL             |
|249                  |ca               |
|1                    |gb               |
+----------------------+-----------------+
SQL Server ระดับกลาง

COUNT กับ GROUP BY และ ORDER BY ใน T-SQL (I)

-- Count the rows, subtotaled by Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country 
ORDER BY Country ASC
+----------------------+-----------------+
|TotalRowsbyCountry   | Country         |
+----------------------+-----------------+
|750                  |NULL             |
|249                  |ca               |
|1                    |gb               |
|5452                 |us               |
+----------------------+-----------------+

SQL Server ระดับกลาง

COUNT กับ GROUP BY และ ORDER BY ใน T-SQL (II)

-- Count the rows, subtotaled by Country
SELECT COUNT(*) AS TotalRowsbyCountry, Country
FROM Incidents
GROUP BY Country 
ORDER BY Country DESC
+----------------------+-----------------+
|TotalRowsbyCountry   | Country         |
+----------------------+-----------------+
|5452                 |us               |
|1                    |gb               |
|249                  |ca               |
|750                  |NULL             |
+----------------------+-----------------+
SQL Server ระดับกลาง

ผลรวมคอลัมน์ด้วย SUM

  • SUM() คืนค่าผลรวมของตัวเลขในคอลัมน์

  • ใช้รูปแบบเดียวกับฟังก์ชัน Aggregation อื่น ๆ

  • ใช้ร่วมกับ GROUP BY เพื่อดูผลรวมย่อยตามคอลัมน์ที่ระบุ

SQL Server ระดับกลาง

การบวกค่าในคอลัมน์ด้วย T-SQL

-- Calculate the values subtotaled by Country
SELECT SUM(DurationSeconds) AS TotalDuration, Country
FROM Incidents
GROUP BY Country
+----------+--------------------+
|Country   |TotalDuration       |
+----------+--------------------+
|us        |17024946.750001565  |
|null      |18859192.800000012  |
|ca        |200975              |
|gb        |120                 |
+----------+--------------------+

SQL Server ระดับกลาง

มาฝึกกันเถอะ!

SQL Server ระดับกลาง

Preparing Video For Download...