กระทู้เก่าบอร์ด อ.Yeadram
        
           1,575   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.5106s
    
      
		
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.[วันที่];