กระทู้เก่าบอร์ด อ.Yeadram
1,418 3
URL.หัวข้อ /
URL
ต้องการแบ่งกลุ่มของนักศึกษา โดยเอา 3 อันดับแรก
รบกวนหน่อยครับ คือต้องการแยกข้อมูลของนักศึกษาว่ามีนักศีกษาคนใดที่ลงทะเบียนมากกว่าหรือเท่ากับ 3 วิชา โดยให้เรียงจากวันที่ที่ได้ลงทะเบียนก่อน โดยใช้ sql query
table
รหัส วิชา วันที่ลงทะเบียน
101 database 10/04/2010
101 การบริหารเบื้องต้น 11/04/2010
102 database 10/04/2010
102 การบัญชี 12/04/2010
103 grammar 13/04/2010
103 database 10/04/2010
103 ASP 09/04/2010
101 ASP 09/04/2010
ผลลัพธ์ที่ต้องการ
รหัส วิชา วันที่ลงทะเบียน
101 ASP 09/04/2010
101 database 10/04/2010
101 การบริหารเบื้องต้น 11/04/2010
รวม 3 วิชา
103 ASP 09/04/2010
103 database 10/04/2010
103 grammar 13/04/2010
รวม 3 วิชา
table
รหัส วิชา วันที่ลงทะเบียน
101 database 10/04/2010
101 การบริหารเบื้องต้น 11/04/2010
102 database 10/04/2010
102 การบัญชี 12/04/2010
103 grammar 13/04/2010
103 database 10/04/2010
103 ASP 09/04/2010
101 ASP 09/04/2010
ผลลัพธ์ที่ต้องการ
รหัส วิชา วันที่ลงทะเบียน
101 ASP 09/04/2010
101 database 10/04/2010
101 การบริหารเบื้องต้น 11/04/2010
รวม 3 วิชา
103 ASP 09/04/2010
103 database 10/04/2010
103 grammar 13/04/2010
รวม 3 วิชา
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05905
SELECT รหัส,วิชา,วันที่ลงทะเบียน
FROM table
[Where รหัส = รหัสที่ต้องการ ]
ORDER BY รหัส,วันที่ลงทะเบียน
1 ไม่ทราบตรง requirement หรือไม่
2 ให้ศึกษาการเขียน sql statement ตามอักษรสีแดง
FROM table
[Where รหัส = รหัสที่ต้องการ ]
ORDER BY รหัส,วันที่ลงทะเบียน
1 ไม่ทราบตรง requirement หรือไม่
2 ให้ศึกษาการเขียน sql statement ตามอักษรสีแดง
3 @R05906
ก่อนอื่นต้องขอขอบคุณ และขออภัยอย่างแรง พอดีบอกความต้องการผิดครับ คือต้องการ 3 อันดับ(วิชา)แรกของนักศึกษาแต่ละคน ไม่ว่านักศึกษาจะลงทะเบียนเรียน 5 หรือ 7 วิชาก็ตาม รบกวนอีกครั้งครับ
Time: 0.3484s
FROM table1 INNER JOIN (
SELECT รหัส as ID
FROM Table1
GROUP BY รหัส
HAVING ((Count(รหัส)>=3))
) AS q ON table1.[รหัส] = q.ID
GROUP BY table1.[รหัส], table1.[วิชา], table1.[วันที่]
ORDER BY table1.[รหัส], table1.[วันที่];