วิธีใช้โมดูลครอสแท็บ PostrgreSQL

Withi Chi Mo Du Lkh Rx Sthaeb Postrgresql



เมื่อคุณเรียกใช้คำสั่ง SELECT เพื่อดึงข้อมูลบันทึกจากตาราง PostgreSQL ข้อมูลจะถูกส่งกลับในรูปแบบตาราง แบบฟอร์มตารางอาจไม่ดีที่สุดสำหรับการอ่านข้อมูลเสมอไป โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการเปรียบเทียบค่า แนวทางที่ดีกว่าคือการส่งคืนระเบียนเป็นครอสแท็บ ด้วยเหตุนี้ PostgreSQL จึงเสนอ tablefunc เพื่อให้ผู้ใช้สามารถใช้ฟังก์ชันครอสแท็บเพื่อแสดงข้อมูลเป้าหมายเป็นตารางสาระสำคัญ โพสต์นี้จะอธิบายเพิ่มเติมเกี่ยวกับวิธีใช้ฟังก์ชันครอสแท็บ PostgreSQL อ่านต่อ!

การทำงานกับโมดูลครอสแท็บ PostgreSQL

การมีห้องเพื่อระบุว่าคุณต้องการแสดงข้อมูลของคุณอย่างไรนั้นมีประโยชน์ ด้วย PostgreSQL แม้ว่าวิธีเริ่มต้นคือการให้ข้อมูลในรูปแบบตาราง แต่โมดูลครอสแท็บจะให้ตัวเลือกอื่นแก่คุณ คุณสามารถสร้างตารางสรุปข้อมูลได้โดยใช้คอลัมน์ “select” จากตาราง PostgreSQL เพื่อการนำเสนอที่ดีขึ้น

ฟีเจอร์ที่น่าทึ่งนี้มาเป็นส่วนขยายสำหรับ PostgreSQL เวอร์ชัน 8.3 ส่วนขยาย “tablefunc” มีฟังก์ชันครอสแท็บ ทำให้สามารถมีตารางเดือยตามชุดผลลัพธ์ของคุณได้ ลองยกตัวอย่าง.







ขั้นแรก เราสร้างตาราง 'ผลลัพธ์' โดยมีสามคอลัมน์โดยใช้คำสั่งต่อไปนี้:





ตารางที่สร้างขึ้นว่างเปล่า ดังนั้น ให้ใช้แบบสอบถาม INSERT เพื่อเพิ่มค่าลงไป ในกรณีนี้ เราจะแทรกบางรายการดังที่แสดงต่อไปนี้:





หากเรารันคำสั่ง 'select' เราจะได้ผลลัพธ์ดังต่อไปนี้ โปรดทราบว่าวิธีการเริ่มต้นในการดึงข้อมูลระเบียนจะแสดงในรูปแบบตารางอย่างไร คอลัมน์ต่างๆ ถูกใช้เป็นส่วนหัวและค่าที่เกี่ยวข้องจะปรากฏในแถว:



แม้ว่าวิธีการก่อนหน้านี้จะใช้ได้ในกรณีส่วนใหญ่ แต่ก็มีอีกทางเลือกหนึ่งในการดึงข้อมูลเรกคอร์ดเดียวกัน ในกรณีนี้ เราต้องการสร้างตารางสรุปข้อมูล ดังนั้นเราจึงใช้ส่วนขยาย “tablefunc” ที่มาพร้อมกับ PostgreSQL เวอร์ชัน 8.3+


ดังนั้น เรามาสร้างส่วนขยาย “tablefunc” เพื่อเปิดใช้งานเมื่อเราเรียกมันในแบบสอบถาม ดำเนินการคำสั่งต่อไปนี้:

สร้างส่วนขยายหากไม่มี tablefunc ;

คุณจะรู้ว่าส่วนขยายนั้นเปิดใช้งานได้สำเร็จเมื่อคุณได้ผลลัพธ์เหมือนกับที่เรามีในรูปภาพก่อนหน้า

สำหรับฟังก์ชันครอสแท็บของเรา ให้คอลัมน์แรกเป็นคณะ ด้านล่างนี้คือคณะต่างๆ ที่เรามีในตารางของเรา ถัดจากคอลัมน์คณะ เรามีคอลัมน์อื่นๆ ที่แสดงค่าต่างๆ ในคอลัมน์หมวดหมู่ของตารางของเรา สุดท้ายนี้ สำหรับแต่ละหมวดหมู่ เรามีนักเรียนจำนวนหนึ่งที่เข้าประเภทต่างๆ

เพื่อให้บรรลุตารางสรุปข้อมูลดังกล่าว ให้ใช้ไวยากรณ์ต่อไปนี้:

เลือก * จากครอสแท็บ ( 'เลือกคอลัมน์ 1 , คอลัมน์2 , column3 จาก table_name เรียงตามเกณฑ์a' )

เป็นชื่อใหม่ ( คอลัมน์ 1 data_type , คอลัมน์ 2 data_type , column_n data_type ) ;

จากตารางตัวอย่างที่เราสร้างขึ้น คำสั่งของเรามีลักษณะดังนี้:

ก่อนที่เราจะเห็นผลลัพธ์ เรามาดูรายละเอียดเกี่ยวกับวิธีการทำงานของคำสั่งโมดูลแท็บไขว้กันก่อน ขั้นแรก คำสั่ง SELECT ส่งคืนสามคอลัมน์ คอลัมน์แรกถือเป็นตัวระบุแถว ในกรณีของเราคือคอลัมน์ 'คณะ' คอลัมน์ที่สองซึ่งเป็นคอลัมน์ 'หมวดหมู่' แสดงถึงหมวดหมู่ของตารางสรุปข้อมูล สุดท้าย คอลัมน์ที่สามประกอบด้วยค่าสำหรับหมวดหมู่ต่างๆ ในกรณีของเราคือจำนวนนักเรียนในแต่ละประเภท

เมื่อเข้าใจแล้ว เมื่อเรากดปุ่ม “Enter” เราจะได้ตารางสรุปดังนี้:

จากตารางเดือยที่ส่งคืน เราจะเห็นว่าตารางทำงานเหมือนกับอาร์เรย์ 2 มิติ โดยที่คอลัมน์แรกในคำสั่ง SELECT เป็นอาร์เรย์แรก และคอลัมน์ที่สองเป็นอาร์เรย์ที่สองในมิติ คอลัมน์ที่สามประกอบด้วยค่าสำหรับองค์ประกอบอาร์เรย์ที่สอง

บทสรุป

ครอสแท็บ PostgreSQL เหมาะสำหรับการแสดงค่าตารางเป็นตารางสรุปข้อมูล คุณต้องส่งคืนสามคอลัมน์ในคำสั่ง SELECT ของคุณเพื่อใช้โมดูลครอสแท็บ และโพสต์นี้ได้แชร์ตัวอย่างการใช้งานจริงเกี่ยวกับวิธีการใช้งาน นอกจากนี้ เรายังอธิบายวิธีการทำงานของโมดูลตารางไขว้ในการสร้างตารางสรุปข้อมูลที่ใช้ตรรกะเดียวกันกับอาร์เรย์ 2 มิติ