ถ้าฉันไปถูกทางแล้ว:
แบบสอบถามปัจจุบัน
Model.select(:rating)
ส่งคืนอาร์เรย์ของวัตถุและคุณได้เขียนแบบสอบถาม
Model.select(:rating).uniq
uniq ถูกนำไปใช้กับอาร์เรย์ของวัตถุและแต่ละวัตถุมีรหัสที่ไม่ซ้ำกัน uniq ทำงานได้อย่างถูกต้องเพราะแต่ละวัตถุในอาร์เรย์เป็น uniq
มีหลายวิธีในการเลือกการให้คะแนนที่แตกต่าง:
Model.select('distinct rating').map(&:rating)
หรือ
Model.select('distinct rating').collect(&:rating)
หรือ
Model.select(:rating).map(&:rating).uniq
หรือ
Model.select(:name).collect(&:rating).uniq
อีกสิ่งหนึ่งแบบสอบถามแรกและครั้งที่สอง: ค้นหาข้อมูลที่แตกต่างจากแบบสอบถาม SQL
ข้อความค้นหาเหล่านี้จะถือว่าเป็น "london" และ "london" เหมือนกันนั่นหมายความว่าจะไม่สนใจช่องว่างนั่นคือเหตุผลที่จะเลือก 'london' หนึ่งครั้งในผลการสืบค้นของคุณ
ข้อความค้นหาที่สามและที่มา:
ค้นหาข้อมูลด้วยแบบสอบถาม SQL และใช้ข้อมูลที่แตกต่าง ruby uniq mehtod ข้อความค้นหาเหล่านี้จะถือว่า "london" และ "london" ต่างกันนั่นคือสาเหตุที่จะเลือก 'london' และ 'london' ทั้งสองอย่างในผลการสืบค้นของคุณ
โปรดเลือกภาพที่แนบมาเพื่อความเข้าใจเพิ่มเติมและดูที่ "Toured / Awaiting RFP"