ใช้คำสั่ง SQL หาผลลัพธ์อย่างไร

   
ใช้คำสั่ง SQL หาผลลัพธ์เกรดเฉลี่ยสะสมอย่างไรครับ โดยมีข้อมูลดังนี้ T1=ผลรวม เกรดคูณหน่วยกิต
T2=ผลรวมหน่วยกิต
เกรดเฉลี่ย = T1/T2 ข้อมูลในตารางเป็นดังนี้ครับ
Grade Credit
------------------------------
4 3
2 2
3 3
------------------------
T1 และ T2 หาได้ แต่ติด เกรดเฉลี่ยครับ
สมใจ
15 พ.ย. 48 เวลา 15:53:10 น. --> 203.172.182.81,
   
   
select sum(grade*credit)/sum(credit) from grade_table
ritken
16 พ.ย. 48 เวลา 11:28:03 น. --> 203.146.8.77, w
  
   
SELECT SUBSTR(STR(t1/t2,10,10),1,4)as credit FROM <table>
การคิดเกรดเฉลี่ย ใช้ทศนิยม 2 ตำแหน่ง
ตำแหน่งที่ 3 ตัดทิ้ง โดยไม่สนใจว่าจะเป็นเท่าไร
ดังนั้น จึงหาจำนวนทศนิยม เยอะ ๆ ก่อน
และเลือก ตำแหน่งที่ 1 ถึง 4 มา

เช่น 3.5695 ผล 3.56

กรณี 2.9999999999 ผล 2.99 ถูก
ถ้าคุณคำนวณ 4 ตำแหน่ง จาก 2.99999 ->3.0000 คอมจะปัดมาแล้ว 1 ครั้ง
ตัด 2 ตำแหน่ง 3.00 ผิดครับ


สงสัย
16 พ.ย. 48 เวลา 11:46:08 น. --> 61.19.157.210,
  
   
cursor ตัวอย่างมีคะแนนนักศึกษา 2 คนโดยใช้ id แทนแต่ละคน
แล้วสั่งหา GPA ของแต่ละ id

CREATE CURSOR scores (id c(5), grade n(1), credit n(2) )
INSERT INTO scores VALUES ('00001', 4, 3)
INSERT INTO scores VALUES ('00001', 2, 2)
INSERT INTO scores VALUES ('00001', 3, 3)
INSERT INTO scores VALUES ('00002', 3, 3)
INSERT INTO scores VALUES ('00002', 2, 2)
INSERT INTO scores VALUES ('00002', 2, 3)

SELECT id, SUM(grade*credit)/SUM(credit) gpa ;
FROM scores GROUP BY Id ;
INTO CURSOR Result
BROWSE
TS
16 พ.ย. 48 เวลา 20:12:44 น. --> 61.91.180.225,
  
   
การคิดเกรดเฉลี่ย ใช้ทศนิยม 2 ตำแหน่ง ตำแหน่งที่ 3 ขึ้นไปตัดทิ้ง จะไม่มีการปัดเศษ
สงสัย
18 พ.ย. 48 เวลา 9:38:29 น. --> 61.19.157.210,
  
   
คุณ สงสัย ต้องการจะสื่อกับผมหรือเปล่าครับ? :-)

ผมไม่ได้ติดใจประเด็นเรื่องปัดเศษทศนิยมนัก ด้วยความเข้าใจว่า
อาจจะมีวิธีถือปฎิบัติต่างกันระหว่างสถาบันก็ได้ และได้เห็นที่คุณ สงสัย
post ไว้แล้ว จึงไม่ได้แสดงวิธีกรณีต้องป้องกันการปัดเศษด้วย
และวิธีที่คุณสงสัยให้ไว้ ใช้ได้ไม่มีปัญหากับค่าการคำนวณ gpa ที่จะเป็นไปได้

ก็ขอยอมรับไว้ตรงนี้ครับว่าไม่ได้สื่อออกไปให้ชัดเจน
**
และเพิ่งสังเกตว่าผมไปตอบซ้ำกับของคุณ ritken เข้าตั้งแต่แรกเลย
ไม่ทันได้ดูให้ถี่ถ้วนครับ ขออภัยด้วย
TS
18 พ.ย. 48 เวลา 16:37:39 น. --> 61.91.180.146,
  
ขอเชิญร่วมตอบคำถามครับ
 
ผู้ตอบ :
รหัสผ่าน :
รูปภาพ :
คำตอบ :