select best Query
กระทู้เก่าบอร์ด อ.Yeadram

 1,676   9
URL.หัวข้อ / URL
select best Query

เรียนสอบถาม อ.yeadram และท่านผู้รู้ทุกท่านครับ

Table1 มี Name, Score

เราจะทำ Query แบบนี้ได้หรือเปล่าครับ

คะแนนที่ดีที่สุด 10 ครั้งจากผลการสอบ 20 ครั้ง หรือ
คะแนนที่ดีที่สุด 9 ครั้งจากผลการสอบ 18-19 ครั้ง หรือ
คะแนนที่ดีที่สุด 8 ครั้งจากผลการสอบ 16-17 ครั้ง หรือ
คะแนนที่ดีที่สุด 7 ครั้งจากผลการสอบ 14-15 ครั้ง หรือ
คะแนนที่ดีที่สุด 6 ครั้งจากผลการสอบ 12-13 ครั้ง หรือ
คะแนนที่ดีที่สุด 5 ครั้งจากผลการสอบ 10-11 ครั้ง หรือ
คะแนนที่ดีที่สุด 4 ครั้งจากผลการสอบ 8-9 ครั้ง หรือ
คะแนนที่ดีที่สุด 3 ครั้งจากผลการสอบ 7 ครั้ง หรือ
คะแนนที่ดีที่สุด 2 ครั้งจากผลการสอบ 6 ครั้ง หรือ
คะแนนที่ดีที่สุด 1 ครั้งจากผลการสอบ 5 ครั้ง

9 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R00834
"Table1 มี Name, Score "
มี index มั้ยครับ ในตารางนี้ มีชื่อซ้ำได้หรือเปล่า

"จากผลการสอบ 20 ครั้ง"
ผลการสอบของ Name เดียว 20ครั้ง
หรือ 20 Name     Name ละครั้ง ครับ

ลองขยายโจทก์ หรือแนบรูปภาพตาราง มาดูหน่อยครับ
อยากรู้ว่า โครงสร้างตาราง (ภาพตารางในมุมมองออกแบบ) และตัวอย่างข้อมูล (ภาพตารางในมุมมองปกติ หรือมุมมองข้อมูล) ได้จัดเก็บเป็นอย่างไร
2 @R00841
เรียน อ. yeadram
Table1 นี้จะเป็นการเก็บคะแนนทั้งหมด บางคนอาจเข้าทดสอบหลายครั้ง บางคนอาจเข้าทดสอบน้อยครั้ง แต่ก็ไม่ต่ำกว่า 5 ครั้ง โครงสร้างจะเป็นแบบไม่มี index แบบนี้ครับ
Name                                    Score
aa              80
bb              85
cc              90
aa              95
aa              100
bb              75
cc               60
aa              87
cc              96
bb             78
aa             79
bb             98
cc              96
bb              100
aa             76
cc              87
bb              88

แบบนี้ครับ
3 @R00842
"เราจะทำ Query แบบนี้ได้หรือเปล่าครับ"

ถ้าให้เขียนฟังก์ชั่น ผมจะวนลูปด้วย + select case ด้วย
เพราะโจทก์มี .. หรือ ... เยอะเหลือเกิน
และอาจต้องใช้อาเรย์มาเก็บค่า ทางเลือก อีกต่างหาก
เข้าใจง่าย ตามดูง่ายดี นะคิดว่า...อิอิ

แต่โจทก์ ต้องการเขียนเป็นคิวรี ผมเคยอ่านตำราแว็บๆ เหมือนกัน พอได้ทราบว่าในการเขียน sql ก็สามารถ สร้างลูป สร้าง switch หรือ case ได้เช่นกัน ดังนั้นพอจะตอบคร่าวๆ ก่อนเลยครับ ว่า "ทำได้ครับ"
สำหรับวิธีทำ หรือตัวอย่างการเขียน ผมขอออกตัวเลยว่า ไม่เคยคิดจะเอา case หรือ ลูป มาใช้ใน statement ตอนอ่านตอนศึกษาเลยไม่ค่อยจะเน้นมากนัก อ่านพอผ่านๆ ตาครับ
ถ้าท่านอื่นๆ ยังไม่เข้ามาช่วยหรือยังหาทางที่ดีกว่านี้มาช่วยแนะนำไม่ได้ ก็ไม่ต้องห่วงนะครับ ผมจะอาสากลับไปเปิดตำราแล้วทดลองเขียนมาดูครับ

แต่ยังหวังว่าท่านที่ชำนาญจะเข้ามาทำให้ดูนะครับ อิอิ
4 @R00843
ขอบคุณมากครับ
รอๆๆ ครับ
5 @R00869
รอยู่นะครับ
6 @R00870
คงรอนานนะครับ ผมตีโจทย์ไม่แตกครับ จากตัวอย่างที่ให้มานะครับจะให้ออกเป็นแบบใด แสดงตัวอย่าง output มาจะได้ช่วยๆกัน
เช่น นาย AA สอบ 6 ครั้ง คะแนนดีที่สุด 100
       นาย BB สอบ 6 ครั้ง คะแนนดีที่สุด 100
.
.
.
etc
??? แบบนี้ใช่หรือไม่ครับ

7 @R00872
ผมเข้าใจว่าคงเป็นวิชาสถิติลองดูที่นี่ก่อนครับ
http://www.watpon.com/th/mod/resource/view.php?id=4

คือผมจะบอกว่าน่าจะทำได้นะครับ แต่ไม่รู้จะคำนวนอย่างไรมากกว่า
ลองยกตังอย่างแบบที่มี raw data และผลลัพท์ที่ต้องการสักระดับหนึ่งก่อนสิครับ
8 @R00880
คิวรี่เดียว เท่าที่ผมกลับไปทบทวน ตำราที่ว่า "ไม่ได้นะครับ"
รู้สึกว่า DBMS ชนิดนี้ (Access จะไม่สนับสนุนบางคำสั่งของ SQL)
ดังนั้น ที่ผมเคยบอกว่าจะลองไปค้นดู เลิกรอได้เลยนะครับ สำหรับผม ยังไงก็คิดว่า เขียนเป็นโค้ด เป็นฟังก์ชั่น จะเหมาะกว่า

แต่ถ้ายังต้องการเป็นคิวรี่ คงต้องตามอ่านความเห็นของท่านอื่นๆ ต่อไปครับ
9 @R00887
งั้นรบกวนขอเป็น โค้ด หรือ ฟังก์ชั่น ก็ได้ครับ อ.yeadram
ขอบคุณมากครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2553s