วันนี้มีเพื่อนที่ทำงานถามว่าจะเพิ่มคอลัมน์ เพื่อบอกลำดับของข้อมูลอย่างไร เพราะใน DB ก็ไม่ได้เก็บอยู่แล้ว จะเขียนใน Query หรือ มา Loop และ Count เองใน Code ดี
ข้อมูลใน DB (Input)
Firstname | Lastname | Salary
กอไก่ | ไข่เจียวหมูสับ | 50,000
ขอไก่ | เกิดก่อนไก่ | 60,000
คอควาย | รวยนะจ๊ะนะ | 200,000
ผลลัพธ์ที่ต้องการ (Output)
No | Firstname | Lastname | Salary
1 | กอไก่ | ไข่เจียวหมูสับ | 50,000
2 | ขอไก่ | เกิดก่อนไก่ | 60,000
3 | ค.ควาย | รวยนะจ๊ะนะ | 200,000
จากที่เกริ่นทิ้งไว้ ว่ามี 2 ทางให้ทำ คือ Query ออกมาเลย หรือ เอาข้อมูลมา Loop Code เอาเอง ซึ่งในกรณีนี้ ผมขอ Query และกัน เพราะไม่เปลือง Performance ของระบบ และไม่ต้องมาเขียน Code นั่งไล่ Loop ใน App ของเราด้วย โดยผมได้ลองใน DBMS 2 ระบบ ได้แก่
- MySQL ใช้คำสั่งดังนี้
SELECT @n := @n + 1 AS 'NO' , Firstname , Lastname , Salary FROM Employee, (SELECT @n := 0) m ORDER BY Firstname, Lastname
- Microsoft SQL Server ใช้คำสั่งดังนี้
SELECT row_number() OVER (ORDER BY Firstname, Lastname) AS 'NO' , Firstname , Lastname , Salary FROM Employee
- DB2 - คล้ายกับ SQL Server ครับ
SELECT row_number() OVER (ORDER BY Firstname, Lastname) AS NO , Firstname , Lastname , Salary FROM Employee
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.