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