วันพฤหัสบดีที่ 18 ธันวาคม พ.ศ. 2557

MySQL

คำสั่ง SQL GROUP BY

คำสั่ง SQL มีฟังก์ชั่น (function) ที่ใช้จัดการเกี่ยวกับตัวเลข เช่น
การหาค่าผลรวม หรือ การหาค่าเฉลี่ย ตัวอย่างฟังก์ขัน
- AVG การหาค่าเฉลี่ย
- COUNT
การนับจำนวน
- MAX
การหาค่าสูงสุด
- MIN
การหาค่าต่ำสุด
- SUM
การผาผลรวม
รูปแบบคำสั่ง
1.  SELECT "function type"("column_name"FROM "table_name"  
ตาราง Store_Information
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
Los Angeles
$300
Jan-08-1999
Boston
$700
Jan-08-1999
การใช้งาน
1.  SELECT SUM(Sales) FROM Store_Information  
ผลลัพธ์ที่ได้
SUM(Sales)
$2750
คำอธิบาย
$2750 แสดงถึงผลรวมของรายการขาย เกิดจาก: $1500 + $250 + $300 + $700.



คำสั่ง SQL BETWEEN
1.  SELECT "column_name"  
2.  FROM "table_name"  
3.  WHERE "column_name" BETWEEN 'value1' AND 'value2'  
ตาราง Store_Information 
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
Boston
$700
Jan-08-1999
การใช้งาน
1.  SELECT *  
2.  FROM Store_Information  
3.  WHERE Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999'  
ผลลัพธิ์ที่ได้ 
store_name
Sales
Date
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
Boston
$700
Jan-08-1999


คำสั่ง SQL HAVING
HAVING ใช้เมื่อมีการใช้ฟังก์ชัน ในคำสั่ง SQL เช่น SUM หรือ AVG เป็นต้น โดยเมื่อการกำหนดเงื่อนไข จึงจำเป็นต้องใช้ HAVING แทน WHERE เพื่อคงคุณสมบัติของฟังก์ชันไว้ คำสั่ง HAVING อาจจะมีคำสั่ง GROUP BY หรือไม่มีรวมอยู่ด้วยก็ได้
รูปแบบคำสั่ง
1.  SELECT "column_name1"SUM("column_name2"FROM "table_name"  
2.   GROUP BY "column_name1" HAVING (arithmetic function condition)  
ตาราง Store_Information
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
Los Angeles
$300
Jan-08-1999
Boston
$700
Jan-08-1999
การใช้งาน
1.  SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) > 1500  
ผลลัพธ์ที่ได้
store_name
SUM(Sales)
Los Angeles
$1800

 

คำสั่ง SQL COUNT

ฟังก์ชัน COUNT เป็นฟังก์ชันทางคณิตศาสตร์หนึ่งที่ใช้ในหาจำนวนแถว
ที่มีอยู่ในตาราง
รูปแบบคำสั่ง
1.  SELECT COUNT("column_name"FROM "table_name"  
ตาราง Store_Information
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
Los Angeles
$300
Jan-08-1999
Boston
$700
Jan-08-1999
การใช้งาน
1.  SELECT COUNT(store_name) FROM Store_Information  
ผลลัพธ์ที่ได้
Count(store_name)
4
ฟังก์ชัน COUNT และ DISTINCT สามารถที่จะใช้ร่วมกันในคำสั่ง SQL
เพื่อให้ได้จำนวนรายการข้อมูลที่แตกต่างกัน ตัวอย่าง ถ้าเราต้องการหาจำนวน
ของร้านค้าที่ไม่ซ้ำกันในตาราง
การใช้งาน
1.  SELECT COUNT(DISTINCT store_name) FROM Store_Information  
ผลลัพธ์ที่ได้
Count(DISTINCT store_name)
3



คำสั่ง SQL ORDER BY

1.  SELECT "column_name"  
2.  FROM "table_name"  
3.  [WHERE "condition"]  
4.  ORDER BY "column_name" [ASCDESC]  
ASC และ DESC คือรูปแบบการเรียงลำดับ
  • ASC เรียงจากน้อยไปหามาก
  • ASC เรียงจากมากไปหาน้อย
นอกจากนี้ยังสามารถกำหนด การจัดเรียงได้มากกว่า 1 คอลัมน์ ดังต่อไปนี้

1.  ORDER BY "column_name1" [ASCDESC], "column_name2" [ASCDESC]  
ตาราง Store_Information 
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
Boston
$700
Jan-08-1999
การใช้งาน
1.  SELECT store_name, Sales, Date  
2.  FROM Store_Information  
3.  ORDER BY Sales DESC  
ผลลัพธิ์ที่ได้ 
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
Boston
$700
Jan-08-1999
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
นอกจากนี้เราสามารถใช้ตัวเลขกำหนดแทน คอลัมน์ได้ เช่น
1.  SELECT store_name, Sales, Date  
2.  FROM Store_Information  
3.  ORDER BY 2 DESC   


คำสั่ง SQL LIKE
1.  SELECT "column_name"  
2.  FROM "table_name"  
3.  WHERE "column_name" LIKE {PATTERN}  
PATTERN คือรูปแบบของคำที่ต้องการคำหนด ดังตัวอย่างต่อไปนี้
  • 'A_Z': ทุกตัวอักษรที่ขึ้นต้นด้วย 'A', และตามด้วยตัวอะไรก็ได้ 1 ตัวอักษร, และลงท้ายด้วย 'Z'. ตัวอย่างเช่น, 'ABZ' และ 'A2Z' ทั้งสองข้อความนี้มีรูปแบบเป็นไปตามเงื่อนไข, ขณะที่ 'AKKZ' มีตัวอักษรอยู่ระหว่า A และ Z มากกว่า 1 ตัวอักษร จึงไม่เป็นไปตามเงื่อนไข.
  • 'ABC%': ทุกตัวอักษรที่ขึ้นต้นด้วย 'ABC'. ตัวอย่างเช่น, 'ABCD' และ 'ABCABC' ทั้งสองข้อความนี้ขึ้นต้นด้วยรูปแบบตามเงื่อนไข.
  • '%XYZ': ทุกตัวอักษรที่ลงท้ายด้วยรูปแบบ 'XYZ'. ตัวอย่างเช่น, 'WXYZ' และ 'ZZXYZ' ทั้งสองข้อความนี้ลงท้ายด้วยรูปแบบตามเงื่อนไข.
  • '%AN%': ทุกตัวอักษรที่อยู่ในรูปแบบ 'AN' ในข้อความ. ตัวอย่าง, 'LOS ANGELES' และ 'SAN FRANCISCO' ทั้งสองคำนี้จะมี AN อยู่ในคำด้วย.

ตาราง Store_Information 
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999
Boston
$700
Jan-08-1999
การใช้งาน
1.  SELECT *  
2.  FROM Store_Information  
3.  WHERE store_name LIKE '%AN%'  
ผลลัพธิ์ที่ได้ 
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
San Francisco
$300
Jan-08-1999