7
เลือกจุดเริ่มต้นและจุดสิ้นสุดของช่วงต่อเนื่องหลายช่วงอย่างมีประสิทธิภาพในแบบสอบถาม Postgresql
ฉันมีข้อมูลประมาณหนึ่งพันล้านแถวในตารางที่มีชื่อและจำนวนเต็มในช่วง 1-288 สำหรับชื่อที่กำหนดintทุกตัวจะไม่ซ้ำกันและไม่ใช่จำนวนเต็มเท่าที่เป็นไปได้ทั้งหมดในช่วงนั้น - ดังนั้นจึงมีช่องว่าง แบบสอบถามนี้สร้างกรณีตัวอย่าง: --what I have: SELECT * FROM ( VALUES ('foo', 2), ('foo', 3), ('foo', 4), ('foo', 10), ('foo', 11), ('foo', 13), ('bar', 1), ('bar', 2), ('bar', 3) ) AS baz ("name", "int") ฉันต้องการสร้างตารางการค้นหาที่มีแถวสำหรับแต่ละชื่อและลำดับของจำนวนเต็มต่อเนื่องกัน แต่ละแถวดังกล่าวจะประกอบด้วย: ชื่อ - ค่าของคอลัมน์ชื่อ เริ่มต้น - จำนวนเต็มแรกในลำดับ ท้ายที่ต่อเนื่องกัน - ค่าสุดท้ายใน ช่วงลำดับที่ต่อเนื่องกัน - …
19
query
postgresql