ความแตกต่างระหว่าง RANK และ DENSE_RANK (พร้อมตาราง)

สารบัญ:

Anonim

Standard Query Language ช่วยโปรแกรมเมอร์ในการสร้างโปรแกรมตามความต้องการและข้อกำหนด ในภาษาเฉพาะนี้ RANK และ DENSE_RANK เป็นคุณลักษณะสองอย่างที่คนส่วนใหญ่มักจะใช้สลับกัน แต่ความจริงก็คือทั้งสองมีความแตกต่างกันอย่างสิ้นเชิงเมื่อเรามองจากความลึก

อันดับเทียบกับ DENSE_RANK

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

RANK ใน Standard Query Language สามารถเข้าใจได้ว่าเป็นคุณลักษณะที่ช่วยให้โปรแกรมเมอร์สามารถจัดหมวดหมู่และประเมินชุดตัวเลขบางชุดได้ คุณลักษณะนี้ให้การจัดอันดับเฉพาะสำหรับตัวเลขทั้งหมด และเมื่อหมายเลขเดียวกันซ้ำกัน อันดับก็จะถูกทำซ้ำตามตัวเลขทั้งสองนั้นด้วย แต่ลักษณะเฉพาะที่โดดเด่นมากของคุณลักษณะนี้คือเมื่อจัดลำดับที่ใกล้เคียงกันให้กับตัวเลขสองตัวขึ้นไป มันจะข้ามหมายเลขถัดไปเสมอ

ในทางกลับกัน DENSE_RANK นั้นแตกต่างจากก่อนหน้านี้เล็กน้อย DENSE_RANK ใน Standard Query Language สามารถเข้าใจได้ว่าเป็นคุณลักษณะที่ช่วยให้โปรแกรมเมอร์สามารถจัดหมวดหมู่ข้อมูลบางอย่างได้โดยไม่ต้องข้ามตัวเลขใด ๆ แม้ว่าจะอนุญาตให้มีอันดับที่คล้ายคลึงกันก็ตาม ลักษณะนี้เป็นคุณลักษณะเด่นที่สำคัญขององค์ประกอบนี้

ตารางเปรียบเทียบระหว่าง RANK และ DENSE_RANK

พารามิเตอร์ของการเปรียบเทียบ

อันดับ DENSE_RANK

ความหมาย หมายถึงฟังก์ชันที่มีอยู่ในภาษาของการเขียนโปรแกรมที่ช่วยในการจัดหมวดหมู่ชุดข้อมูลต่างๆ หมายถึงฟังก์ชันที่มีอยู่ในภาษาของการเขียนโปรแกรมที่ช่วยในการจัดหมวดหมู่ชุดข้อมูลต่างๆ โดยไม่ต้องข้ามตัวเลขใดๆ
กระบวนการ การจัดอันดับทำได้โดยระบุอันดับตัวเลขต่างๆ ให้กับตัวเลขต่างๆ เมื่อเลขสองตัวเท่ากัน ให้อันดับเดียวกัน การจัดลำดับแบบหนาแน่นทำได้โดยการให้ลำดับตัวเลขที่แตกต่างกันสำหรับตัวเลขต่างๆ และลำดับตัวเลขที่ใกล้เคียงกับตัวเลขที่คล้ายคลึงกัน อย่างไรก็ตาม จะไม่มีการข้ามหมายเลขต่อเนื่องในขั้นตอนนี้
วัตถุประสงค์ จุดประสงค์ของฟังก์ชันเฉพาะนี้คือการวิเคราะห์อันดับที่กำหนดของแต่ละแถว จุดประสงค์ของฟังก์ชันเฉพาะนี้คือการวิเคราะห์อันดับของคอลัมน์หนึ่งๆ ไม่ใช่ทุกแถว
ชื่อโปรแกรมที่เหมาะสม มันถูกเขียนและอ่านเป็น RANK () มันถูกเขียนและอ่านเป็น DENSE_RANK ()
ระบบตัวเลข ขณะใช้งานฟังก์ชันนี้ ยศที่คล้ายคลึงกันจะถูกกำหนดให้กับตัวเลขที่คล้ายกัน และทุกหมายเลขที่ตามหลังยศนั้นจะถูกข้ามไป ขณะใช้งานฟังก์ชันนี้ อันดับที่คล้ายกันจะมอบให้กับหมายเลขที่คล้ายกัน แต่จะไม่มีการข้ามหมายเลขในการจัดอันดับ

อันดับคืออะไร?

ในภาษาโปรแกรมคอมพิวเตอร์ที่มีชื่อเป็นภาษาคิวรีมาตรฐานหรือ SQL ยศเป็นคุณลักษณะพื้นฐานที่โปรแกรมเมอร์จำนวนมากใช้เพื่อจัดหมวดหมู่ชุดข้อมูลที่แตกต่างกัน ฟังก์ชันนี้อนุญาตให้ผู้ใช้ลดความซับซ้อนของข้อมูลที่ให้มาและเพื่อทำความเข้าใจข้อมูลในลักษณะที่ดีขึ้น

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

ให้เรายกตัวอย่างเพื่อทำความเข้าใจเรื่องนี้ ในช่วงห้าปีที่ผ่านมา บริษัทแห่งหนึ่งได้ผลิตข้าวในปริมาณที่แตกต่างกันซึ่งได้แก่ 100 กก., 200 กก. 300 กก. 300 กก. 400 กก. ในข้อมูลนี้ การจัดอันดับจะเป็น 1, 2, 3, 3, 5 โดยตัวอย่างนี้จะเห็นได้ว่าเลข 4 ถูกข้ามไปตามลำดับ และนี่จึงเป็นสาเหตุที่ทำให้เลข 3 ซ้ำกัน

DENSE_RANK คืออะไร?

DENSE_RANK เป็นคุณลักษณะที่มีอยู่ในภาษา SQL ของการเขียนโปรแกรม เป็นอีกคุณลักษณะหนึ่งที่ไม่เหมือนใครแต่แตกต่างกันเล็กน้อย ในขณะที่ระบุอันดับ ปริมาณสูงสุดไปต่ำสุดจะถูกจัดหมวดหมู่และจัดอันดับตามลำดับ

ปริมาณที่เกิดขึ้นจะแตกต่างกันจะได้รับการจัดอันดับที่แตกต่างกัน ในขณะที่ปริมาณที่เกิดขึ้นจะคล้ายกันจะได้รับการจัดอันดับที่คล้ายคลึงกัน แต่ต่างจากการจัดอันดับ ในฟังก์ชันเฉพาะนี้ จะไม่มีการเก็บตัวเลขไว้ในขณะที่จัดอันดับชุดข้อมูลที่แตกต่าง

ให้เรายกตัวอย่างสำหรับสิ่งนี้ ในช่วงห้าปี มีคนเดินเป็นระยะทางหนึ่งทุกปี เขาเดิน 100 กิโลเมตร 200 กิโลเมตร 300 กิโลเมตร 300 กิโลเมตร 500 กิโลเมตรตามลำดับ ฟังก์ชั่นของอันดับหนาแน่นจะให้อันดับ 1, 2, 3, 3, 4 ความแตกต่างนั้นมองเห็นได้เนื่องจากไม่ได้ข้ามหมายเลข 4

คุณลักษณะนี้เป็นที่นิยมในการเขียนโปรแกรมเนื่องจากความสามารถในการจัดหมวดหมู่ข้อมูลที่มีอยู่ในคอลัมน์ขนาดเล็ก

ความแตกต่างหลักระหว่าง RANK และ DENSE_RANK

บทสรุป

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

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

อ้างอิง

ความแตกต่างระหว่าง RANK และ DENSE_RANK (พร้อมตาราง)