Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. MySQL: แสดงชื่อที่ซ้ำเป็นค่าไม่ซ้ำ พร้อมคะแนนที่ไม่ซ้ำคั่นด้วยจุลภาค

    คำอธิบาย ใช้ GROUP_CONCAT(DISTINCT ...) รวมค่าที่ไม่ซ้ำในแต่ละกลุ่ม คั่นด้วยจุลภาค ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40), Score int ); Query OK, 0 rows affected (0.53 sec) การเพิ่มข้อมูล

  2. MySQL: GROUP BY, HAVING, ORDER BY แสดงผลรวมในช่วงที่กำหนด

    คำอธิบาย รวม GROUP BY จัดกลุ่ม, HAVING กรองกลุ่ม, ORDER BY เรียงลำดับ ในคิวรี่เดียว เพื่อหาลูกค้าที่ยอดซื้อรวมอยู่ในช่วง 1600-2000 ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(20), ProductPr

  3. MySQL: หาวันที่ล่าสุด (Last Date) จากเรคคอร์ดด้วย MAX() และ Subquery

    คำอธิบาย ใช้ MAX() หาวันที่มากที่สุด (ล่าสุด) แล้วนำไปเปรียบเทียบใน WHERE clause ผ่าน Subquery ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ExpiryDate date ); Query OK, 0 rows affected (1.40 sec) การเพิ่มข้อมูล mys

  4. MySQL: หาค่าที่สูงสุดอันดับ N (Nth Highest) ด้วย LIMIT OFFSET

    คำอธิบาย ใช้ ORDER BY DESC เรียงจากมากไปน้อย แล้วใช้ LIMIT 1 OFFSET N-1 เพื่อข้าม N-1 ค่าแรก และเอาค่าต่อไป (ค่าอันดับ N) ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Value int ); Query OK, 0 rows affected (0.49 sec) การเพิ่มข้อมูล mysql> insert into DemoTable

  5. MySQL: SERIAL คือ BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE (มี NOT NULL ในตัวแล้ว)

    คำอธิบาย ใน MySQL SERIAL เป็น Alias (ชื่อเรียกทางเลือก) ของ BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE ดังนั้น ห้าม เขียน NOT NULL ต่อท้าย SERIAL เพราะมีอยู่ในตัวแล้ว ขั้นตอนการสร้างตาราง mysql> create table DemoTable ( Id serial ); Query OK, 0 rows affected (0.42 sec) การเพิ่มข้อมูล

  6. MySQL: UPDATE ข้อมูลพนักงานรวมถึงเงินเดือน (เพิ่มเงินเดือนทุกคน)

    คำอธิบาย ใช้คำสั่ง UPDATE ... SET เพื่อแก้ไขข้อมูลในตาราง ตัวอย่างเพิ่มเงินเดือนพนักงานทุกคนจำนวนคงที่ ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeName varchar(50), EmployeeSalary int ); Query

  7. MySQL: ลบเรคคอร์ดที่มีคำเฉพาะพร้อม Underscore (เช่น MONTH_JAN) ด้วย LIKE

    คำอธิบาย ใช้ LIKE พร้อม Wildcard % เพื่อค้นหาและลบเรคคอร์ดที่มีคำเฉพาะ (Pattern) อยู่ในคอลัมน์ ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40), BornMonth varchar(40) ); Query OK, 0 rows affected (

  8. MySQL: UPDATE คอลัมน์ให้เป็นค่าต่อเนื่อง John1, John2, John3... ด้วย Variable

    คำอธิบาย ใช้ User-defined Variable (@row) ร่วมกับ CONCAT() เพื่ออัปเดตค่าคอลัมน์ให้มีตัวเลขต่อท้ายแบบลำดับ (1, 2, 3...) ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( StudentId varchar(80) ); Query OK, 0 rows affected (0.50 sec) การเพิ่มข้อมูล (ชื่อซ้ำทั้งหมด) mysq

  9. MySQL: สร้างคอลัมน์ NVARCHAR (แปลงเป็น VARCHAR อัตโนมัติ)

    คำอธิบาย ใน MySQL NVARCHAR เป็น Alias ของ VARCHAR ระบบจะแปลงเป็น VARCHAR อัตโนมัติ พร้อมแสดง Warning ขั้นตอนการสร้างตาราง mysql> create table DemoTable ( StudentName NVARCHAR(40), StudentCountryName VARCHAR(50) ); Query OK, 0 rows affected, 1 warning (0.49 sec) ตรวจสอบโครงสร้างตาราง

  10. MySQL: ดึงข้อมูลวันที่เท่ากับวันนี้ (Today) ด้วย CURDATE()

    คำอธิบาย ใช้ CURDATE() เพื่อดึงวันที่ปัจจุบัน (ไม่รวมเวลา) และเปรียบเทียบกับคอลัมน์ DATE/DATETIME โดยใช้ DATE() แปลง DATETIME ให้เหลือแค่ส่วนวันที่ ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( RegistrationLastDate datetime ); Query OK, 0 rows affected (0.61 sec)

  11. MySQL: แสดงเฉพาะเรคคอร์ดที่มีคำเดียว (ไม่มีช่องว่าง) ด้วย NOT LIKE

    คำอธิบาย ใช้ NOT LIKE % % เพื่อกรองเฉพาะแถวที่ไม่มีช่องว่าง (Space) หมายถึงเป็นคำเดียว (Single word) ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Name varchar(50) ); Query OK, 0 rows affected (0.50 sec) การเพิ่มข้อมูล mysql> insert into DemoTable values(John S

  12. MySQL: รวมค่าซ้ำในคอลัมน์เป็นแถวเดียว คั่นด้วยอักขระพิเศษด้วย GROUP_CONCAT

    คำอธิบาย ใช้ GROUP_CONCAT() ร่วมกับ DISTINCT เพื่อรวมค่าที่ซ้ำกันในกลุ่มเดียวกัน ให้อยู่ในแถวเดียว คั่นด้วยตัวคั่นที่กำหนด (เช่น Hyphen -) ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Id int, Subject varchar(40) ); Query OK, 0 rows affected (0.56 sec) การเพิ

  13. MySQL: SUM คอลัมน์ตามเงื่อนไข (Conditional SUM)

    คำอธิบาย บทความนี้แสดงวิธีการรวมค่า (SUM) ของคอลัมน์เฉพาะแถวที่ตรงตามเงื่อนไข โดยใช้ WHERE clause ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ProductAmount int, CustomerCountryName varchar(10) ); Query

  14. MySQL: สร้างตารางถ้ายังไม่มี และ Insert ข้อมูลในคิวรี่เดียว

    คำอธิบาย ใช้ CREATE TABLE IF NOT EXISTS ... AS SELECT เพื่อสร้างตารางใหม่ (ถ้ายังไม่มี) และ Insert ข้อมูลเริ่มต้นในคำสั่งเดียว รูปแบบไวยากรณ์ create table if not exists yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType, yourColumnName3 dataType, ... ) as select

  15. MySQL: สร้างลำดับที่ (Rank) ใน SELECT ด้วย ROW_NUMBER()

    คำอธิบาย MySQL 8.0+ รองรับ Window Function ROW_NUMBER() สำหรับสร้างลำดับที่ (Rank) ภายในกลุ่มข้อมูล (Partition) ได้อย่างง่ายดาย ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Name varchar(40) ); Query OK, 0 rows affected (0.49 sec) การเพิ่มข้อมูล (มีชื่อซ้ำ) mysql&

  16. หาค่าเฉลี่ยคะแนนนักเรียนต่อวิชา แล้วแสดงเฉพาะค่าเฉลี่ยสูงสุดใน MySQL

    คำอธิบาย บทความนี้แสดงวิธีคำนวณคะแนนเฉลี่ยต่อนักเรียน (กลุ่มตามชื่อ) แล้วนำมาเอาค่าสูงสุดเพียงค่าเดียว โดยใช้ Subquery ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( StudentName varchar(40), StudentMarks int ); Query OK, 0 rows affected (0.50 sec) การเพิ่มข้อม

  17. MySQL: GROUP BY แบบมีเงื่อนไขกับ NOT IN เพื่อกรองค่าซ้ำ

    คำอธิบาย บทความนี้สาธิตการใช้ GROUP แบบมีเงื่อนไข (Conditional GROUP BY) ร่วมกับ NOT IN เพื่อดึงเฉพาะชื่อที่มีคะแนนเท่ากับ 89 เท่านั้น (ไม่มีคะแนนอื่น) ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Name varchar(40), Score int ); Query OK, 0 rows affected (0.48

  18. ฟังก์ชัน INSERT() ใน MySQL ใช้แทน substr_replace ของ PHP

    คำอธิบาย MySQL ไม่มีฟังก์ชัน substr_replace() เหมือน PHP แต่มีฟังก์ชัน INSERT() ที่ทำงานคล้ายกัน สามารถแทนที่ส่วนหนึ่งของสตริงได้ รูปแบบฟังก์ชัน INSERT() INSERT(str, pos, len, newstr) str: สตริงต้นฉบับ pos: ตำแหน่งเริ่มต้น (เริ่มที่ 1) len: จำนวนตัวอักษรที่จะแทนที่ newstr: สตริงใหม่ที่จะแทนที่ ค

  19. นับค่าที่คั่นด้วยเครื่องหมายจุลภาคในแถวที่ดึงมาจาก MySQL

    คำอธิบาย บทความนี้แสดงวิธีนับจำนวนแถวที่มีค่าเฉพาะ (เช่น 60) อยู่ในข้อความที่คั่นด้วยจุลภาค (Comma-separated values) โดยใช้ FIND_IN_SET() ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Value varchar(100) ); Query OK, 0 rows affected (0.49 sec) การเพิ่มข้อมูล mysql&

  20. คิวรี่ MySQL แสดงเรคคอร์ดที่มีจำนวนมากที่สุดในกลุ่มพร้อมคอลัมน์อื่น

    คำอธิบาย บทความนี้สาธิตวิธีค้นหาค่าที่เกิดขึ้นบ่อยที่สุด (Mode) ในคอลัมน์ และแสดงจำนวนครั้งที่เกิดขึ้น โดยใช้ GROUP BY HAVING และ Subquery ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง mysql> create table DemoTable ( Value int ); Query OK, 0 rows affected (0.54 sec) การเพิ่มข้อมูล (มีค่าซ้ำหลายค

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:57/229  20-คอมพิวเตอร์/Page Goto:1 51 52 53 54 55 56 57 58 59 60 61 62 63