1. SQL GROUP BY คือการจัดกลุ่มคำที่ซ้ำกันให้แสดงแค่คำเดียว หรือการจัดกลุ่มของคำซ้ำกันให้รวมกลุ่มกัน โดยจะมีการเรียงลำดับตามตัวอักษร
เพื่อใช้ในการวิเคราะห์ หรือทำรายงานสรุปข้อมูล
รูปแบบคำสั่ง GROUP BY
โค้ด: เลือกทั้งหมด
SELECT column_name1, column_name2
FROM table_name
GROUP BY column_name1, column_name2;
อธิบายโค้ด GROUP BY
- - table_name คือ ชื่อตารางข้อมูล
- column_name คือ ชื่อคอลัมน์
ตัวอย่างการใช้ GROUP BY
ตัวอย่างข้อมูลในตาราง CUSTOMERS
- ข้อมูลในตาราง CUSTOMERS
- Group by.JPG (24.71 KiB) Viewed 9661 times
โค้ด การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY ด้วย GROUP BY
- การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY รวมทั้งหมดของ NAME เดียวกัน จากการจัดกลุ่ม
โค้ด: เลือกทั้งหมด
SELECT NAME, SUM(SALARY) FROM CUSTOMERS
GROUP BY NAME;
ผลลัพธ์การใช้ GROUP BY
- จากผลลัพธ์จะเห็นได้ว่า การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME จะมีการจัดกลุ่มคำซ้ำให้รวมอยู่เป็นกลุ่มเดียวกันและมีการเรียงลำดับตัว
อักษรนำหน้าภาษาอังกฤษตัวที่มาก่อน ซึ่งหลังเรียงตามลำดับ รวมทั้งผลรวมของ SALARY ตามลำดับของคอลัมน์ NAME ด้วย
- ผลลัพธ์การใช้ GROUP BY ตาราง CUSTOMERS
- Group by1.JPG (17.62 KiB) Viewed 9661 times
2. SQL ORDER BY คือ การจัดกลุ่มคำที่ซ้ำกันให้แสดงคำซ้ำโดยเอาทุกคำซ้ำมาแสดงด้วย
- เราสามารถใช้ 1 column หรือ หลาย column ในการจัดเรียงข้อมูลก็ได้ โดยมี option ให้เลือกดังนี้
- - ASC (Default) เรียงจาก น้อยไปมาก
- DESC เรียงจาก มากไปน้อย
รูปแบบคำสั่ง ORDER BY
โค้ด: เลือกทั้งหมด
SELECT column_name-list
FROM table_name
[ORDER BY column_name1, column_name2, .. column_nameN] [ASC | DESC];
อธิบายโค้ด ORDER BY
- - column_name-list คือ ชื่อคอลัมน์ต่างๆ ในฐานข้อมูล
- table_name คือ ชื่อตารางข้อมูล
- column_name คือ ชื่อคอลัมน์
ตัวอย่างการใช้ ORDER BY
ตัวอย่างข้อมูลในตาราง ORDER BY
- ข้อมูลในตาราง CUSTOMERS
- order by.JPG (25.83 KiB) Viewed 9661 times
โค้ด การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY ด้วย ORDER BY จากน้อยไปมาก
โค้ด: เลือกทั้งหมด
SELECT * FROM CUSTOMERS
ORDER BY NAME, SALARY;
ผลลัพธ์การใช้ ORDER BY
- จากผลลัพธ์จะเห็นได้ว่า การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME ที่ซ้ำกันทุกตัว และมีการจัดเรียงตัวอักษรภาษาอังกฤษตัวที่มาก่อน
และเรียงลำดับ SALARY จากน้อยไปมาก
- ผลลัพธ์การใช้ OREDER BY ตาราง CUSTOMERS Option ASC
- order by asc.JPG (20.48 KiB) Viewed 9661 times
โค้ด การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY ด้วย ORDER BY จากมากไปน้อย
โค้ด: เลือกทั้งหมด
SELECT * FROM CUSTOMERS
ORDER BY NAME DESC;
ผลลัพธ์การใช้ ORDER BY option DESC
- จากผลลัพธ์จะเห็นได้ว่า การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME ที่ซ้ำกันทุกตัว และมีการจัดเรียงตัวอักษรภาษาอังกฤษตัวที่มาก่อน
และเรียงลำดับ SALARY จากมากไปน้อย
- ผลลัพธ์การใช้ OREDER BY ตาราง CUSTOMERS Option DESC
- ORDER BY1.JPG (20.64 KiB) Viewed 9661 times
----------------------------------------------------------------------------------------------------------------------------------------------------------------
_____________________________________________________________________________________________
บทความนี้เเป็นบทความที่จัดทำขึ้นเพื่อเนะนำเครื่องมือช่วยสำหรับนักพัฒนา SQL ซึ่งเป็นความรู้พื้นฐานในการพัฒนา phpMyadmin ต่อไป เเละขอเเนะนำความรู้ที่เกี่ยวข้องกับโดยสามารถศึกษาได้จากบทเรียน SQL ได้ที่นี่ เพื่อเพิ่มความเข้าใจในการใช้งานเครื่องมือต่างๆ ค่ะ
_____________________________________________________________________________________________
----------------------------------------------------------------------------------------------------------------------------------------------------------------
[url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99-php/198-mysql-store-procedure/3962-mysql-select-group-by.html][color=#000080][size=150][b]1. SQL GROUP BY[/b][/size][/url] [/color]คือการจัดกลุ่มคำที่ซ้ำกันให้แสดงแค่คำเดียว หรือการจัดกลุ่มของคำซ้ำกันให้รวมกลุ่มกัน โดยจะมีการเรียงลำดับตามตัวอักษร
เพื่อใช้ในการวิเคราะห์ หรือทำรายงานสรุปข้อมูล
[size=110][b][color=#FF0080]รูปแบบคำสั่ง GROUP BY[/color][/b][/size]
[code]SELECT column_name1, column_name2
FROM table_name
GROUP BY column_name1, column_name2;[/code]
[u][b]อธิบายโค้ด GROUP BY[/b][/u]
[list]- table_name คือ ชื่อตารางข้อมูล
- column_name คือ ชื่อคอลัมน์
[/list]
[color=#000080][b][size=120]ตัวอย่างการใช้ GROUP BY[/size][/b][/color]
[b][color=#FF0080][size=110]ตัวอย่างข้อมูลในตาราง CUSTOMERS[/size][/color][/b]
[attachment=3]Group by.JPG[/attachment]
[b][color=#FF0080][size=110]โค้ด การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY ด้วย GROUP BY[/color][/size][/b]
[list]การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY รวมทั้งหมดของ NAME เดียวกัน จากการจัดกลุ่ม[/list]
[code]SELECT NAME, SUM(SALARY) FROM CUSTOMERS
GROUP BY NAME;
[/code]
[size=110][color=#FF0000]ผลลัพธ์การใช้ GROUP BY[/color][/size]
[list]จากผลลัพธ์จะเห็นได้ว่า การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME จะมีการจัดกลุ่มคำซ้ำให้รวมอยู่เป็นกลุ่มเดียวกันและมีการเรียงลำดับตัว[/list] อักษรนำหน้าภาษาอังกฤษตัวที่มาก่อน ซึ่งหลังเรียงตามลำดับ รวมทั้งผลรวมของ SALARY ตามลำดับของคอลัมน์ NAME ด้วย
[attachment=4]Group by1.JPG[/attachment]
[size=150][color=#000080][url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99-php/198-mysql-store-procedure/3962-mysql-select-group-by.html]2. SQL ORDER BY[/url][/size][/color] คือ การจัดกลุ่มคำที่ซ้ำกันให้แสดงคำซ้ำโดยเอาทุกคำซ้ำมาแสดงด้วย
[list]เราสามารถใช้ 1 column หรือ หลาย column ในการจัดเรียงข้อมูลก็ได้ โดยมี option ให้เลือกดังนี้
[list]- ASC (Default) เรียงจาก น้อยไปมาก
- DESC เรียงจาก มากไปน้อย[/list][/list]
[size=110][b][color=#FF0080]รูปแบบคำสั่ง ORDER BY[/color][/b][/size]
[code]SELECT column_name-list
FROM table_name
[ORDER BY column_name1, column_name2, .. column_nameN] [ASC | DESC];[/code]
[u][b]อธิบายโค้ด ORDER BY[/b][/u]
[list]- column_name-list คือ ชื่อคอลัมน์ต่างๆ ในฐานข้อมูล
- table_name คือ ชื่อตารางข้อมูล
- column_name คือ ชื่อคอลัมน์
[/list]
[color=#000080][b][size=120]ตัวอย่างการใช้ ORDER BY[/size][/b][/color]
[b][color=#FF0080][size=110]ตัวอย่างข้อมูลในตาราง ORDER BY[/size][/color][/b]
[attachment=2]order by.JPG[/attachment]
[b][color=#FF0080][size=110]โค้ด การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY ด้วย ORDER BY จากน้อยไปมาก [/color][/size][/b]
[code] SELECT * FROM CUSTOMERS
ORDER BY NAME, SALARY;[/code]
[size=110][color=#FF0000]ผลลัพธ์การใช้ ORDER BY[/color][/size]
[list]จากผลลัพธ์จะเห็นได้ว่า การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME ที่ซ้ำกันทุกตัว และมีการจัดเรียงตัวอักษรภาษาอังกฤษตัวที่มาก่อน [/list] และเรียงลำดับ SALARY จากน้อยไปมาก
[attachment=0]order by asc.JPG[/attachment]
[b][color=#FF0080][size=110]โค้ด การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME รวมถึง SALARY ด้วย ORDER BY จากมากไปน้อย [/color][/size][/b]
[code]SELECT * FROM CUSTOMERS
ORDER BY NAME DESC;[/code]
[size=110][color=#FF0000]ผลลัพธ์การใช้ ORDER BY option DESC[/color][/size]
[list]จากผลลัพธ์จะเห็นได้ว่า การดึงข้อมูลจากตาราง CUSTOMERS เพื่อแสดงคอลัมน์ NAME ที่ซ้ำกันทุกตัว และมีการจัดเรียงตัวอักษรภาษาอังกฤษตัวที่มาก่อน [/list] และเรียงลำดับ SALARY จากมากไปน้อย
[attachment=1]ORDER BY1.JPG[/attachment]
[b][color=#FF0000]----------------------------------------------------------------------------------------------------------------------------------------------------------------[/color][/b]
[color=#FF00BF][i]_____________________________________________________________________________________________
บทความนี้เเป็นบทความที่จัดทำขึ้นเพื่อเนะนำเครื่องมือช่วยสำหรับนักพัฒนา SQL ซึ่งเป็นความรู้พื้นฐานในการพัฒนา [url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B8%AD%E0%B8%AD%E0%B8%99%E0%B9%84%E0%B8%A5%E0%B8%99%E0%B9%8C/%E0%B8%AA%E0%B8%AD%E0%B8%99-phpmyadmin.html]phpMyadmin[/url] ต่อไป เเละขอเเนะนำความรู้ที่เกี่ยวข้องกับ[url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B8%AD%E0%B8%AD%E0%B8%99%E0%B9%84%E0%B8%A5%E0%B8%99%E0%B9%8C/%E0%B8%AA%E0%B8%AD%E0%B8%99-sql.html]โดยสามารถศึกษาได้จากบทเรียน SQL ได้ที่นี่[/url] เพื่อเพิ่มความเข้าใจในการใช้งานเครื่องมือต่างๆ ค่ะ
_____________________________________________________________________________________________[/color][/i]
[b][color=#FF0000]----------------------------------------------------------------------------------------------------------------------------------------------------------------[/color][/b]