SQL – Query เพื่อทำการจัด Rank ของข้อมูล by plug.in
Jul0
จาก http://www.1keydata.com/sql/sql-rank.html
Table Total_Sales
Name | Sales |
John | 10 |
Jennifer | 15 |
Stella | 20 |
Sophia | 40 |
Greg | 50 |
Jeff | 20 |
Query
SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC;
Result:
Name | Sales | Sales_Rank |
Greg | 50 | 1 |
Sophia | 40 | 2 |
Stella | 20 | 3 |
Jeff | 20 | 3 |
Jennifer | 15 | 5 |
John | 10 | 6 |
ถ้าอยากให้เรียงลำดับโดยไม่มีข้ามให้แก้เป็น
Query
SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name >= a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name ASC;
MySql Trigger – Basic by plug.in
Jun6
ใช้ Mysql มาตั้งนาน แต่เพิ่งจะเคยของใช้ Trigger ใน Mysql ดู (เนื่องด้วยความจำเป็น) ว่าแล้วก็มาเขียนแชร์ไว้หล่ะกัน
Trigger คืออะไร?
Trigger คือการแทรกการกระทำ (Method/Function) ลงไว้ใน Database โดยสามารถใส่เงื่อนไขต่างๆได้เหมือนกับภาษาโปรแกรมทั่วไปครับ โดยเมื่อเกิด Query ใน Mysql แล้วตัว Database จะทำการไล่ Check ว่ามี Trigger ไหนตรงตามเงื่อนไขบ้าง และเรียกใช้งาน
ทำไมต้อง Trigger
การใช้ Trigger เป็นเหมือนดาบสองคม มีทั้งข้อดีแล้วข้อเสียครับ จะแจกแจงคร่าวๆเท่าที่พอนึกออกไว้ให้ครับ