Sas: วิธีใช้ order by ใน proc sql


คุณสามารถใช้คำสั่ง ORDER BY ใน PROC SQL ใน SAS เพื่อจัดเรียงผลลัพธ์ของการสืบค้นตามค่าของตัวแปรตั้งแต่หนึ่งตัวขึ้นไป

ต่อไปนี้เป็นวิธีทั่วไปสามวิธีในการใช้คำสั่ง ORDER BY ในทางปฏิบัติ:

วิธีที่ 1: เรียงลำดับตามตัวแปรที่เพิ่มขึ้น

 /*display results in ascending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team ;
quit ;

วิธีที่ 2: เรียงลำดับตามตัวแปรที่ลดลง

 /*display results in descending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team desc ;
quit ;

วิธีที่ 3: เรียงลำดับตามตัวแปรหลายตัว

 /*display results in ascending order by team, then descending order by points*/
proc sql ;
   select *
   from my_data
   order by team, points desc ;
quit ;

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน SAS ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

 /*create dataset*/
data my_data;
    input team $position $points assists;
    datalines ;
A Guard 14 4
B Guard 22 6
B Guard 24 9
A Forward 13 8
C Forward 13 9
A Guard 10 5
B Guard 24 4
C Guard 22 6
D Forward 34 2
D Forward 15 5
B Forward 23 5
B Guard 10 4
;
run ;

/*view dataset*/
proc print data =my_data; 

ตัวอย่างที่ 1: เรียงลำดับตามตัวแปรที่เพิ่มขึ้น

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

 /*display results in ascending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team;
quit ; 

โปรดทราบว่าผลลัพธ์จะแสดงตามลำดับจากน้อยไปมากตามค่าในคอลัมน์ ทีม

ตัวอย่างที่ 2: เรียงลำดับตามตัวแปรที่ลดลง

รหัสต่อไปนี้แสดงวิธีการส่งคืนแต่ละแถวในชุดข้อมูลจากมากไปน้อยโดยยึดตามค่าคอลัมน์ ทีม :

 /*display results in descending order by value in team column*/
proc sql ;
   select *
   from my_data
   order by team desc ;
quit ; 

โปรดทราบว่าผลลัพธ์จะแสดงตามลำดับจากมากไปน้อยตามค่าในคอลัมน์ ทีม

ตัวอย่างที่ 3: เรียงลำดับตามตัวแปรหลายตัว

รหัสต่อไปนี้แสดงวิธีการส่งคืนแต่ละแถวในชุดข้อมูลก่อนตามลำดับจากน้อยไปมากตาม ทีม จากนั้นตามลำดับจากมากไปน้อยตาม จุด :

 /*display results in ascending order by team, then descending order by points*/
proc sql ;
   select *
   from my_data
   order by team, points desc ;
quit ; 

โปรดทราบว่าผลลัพธ์จะแสดงตามลำดับจากน้อยไปมากตาม ทีม จากนั้นจึงแสดงตามลำดับจากมากไปน้อยตาม จุด

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:

SAS: วิธีใช้ UNION ใน PROC SQL
SAS: วิธีใช้ยกเว้นใน PROC SQL
SAS: วิธีใช้ตัวดำเนินการ IN ใน PROC SQL
SAS: วิธีใช้ตัวดำเนินการ WHERE ใน PROC SQL

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *