خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نمایش اول برخی رکوردها در خروجی ORDER BY در SQL Server

نمایش اول برخی رکوردها در خروجی ORDER BY در SQL Server
با استفاده از دستور ORDER BY در SQL Server می توانید ترتیب نمایش رکوردها را تغییر دهید و به ترتیب نزولی یا صعودی آنها را نمایش دهید.

نرم افزار سامانه مودیان راهکار
بعضا با شرایطی مواجه می شوید که علیرغم اینکه باید از دستور ORDER BY استفاده کنید، ولی برخی رکوردها در ابتدای Result set باید نمایش داده شوند.


برای این منظور مثالی داریم. ابتدا جدولی ایجاد کرده و تعداد رکورد در آن اضافه می کنیم.

CREATE TABLE tbl_Classes
(
ClassID INT PRIMARY KEY
,ClassName VARCHAR(10)
)
GO

INSERT INTO tbl_Classes
VALUES
(1,'A'),(2,'B'),(3,'C')
,(4,'D'),(5,'E'),(6,'F')
,(7,'G'),(8,'H'),(9,'I')
GO

سپس با دستور Select، رکوردهای اضافه شده در جدول را نمایش می دهیم و سپس با دستور ORDER BY ترتیب نمایش را نزولی می کنیم:

SELECT *
FROM tbl_Classes
ORDER BY ClassName DESC

ClassID     ClassName
----------- ----------
9 I
8 H
7 G
6 F
5 E
4 D
3 C
2 B
1 A

حالا دستور کمی تغییر می دهیم. با اینکه همچنان ORDER BY به صورت نزولی در اسکریپت وجود دارد، ولی مقادیر ClassName که برابر با D هستند، باید در ابتدای Result نمایش داده شوند.

SELECT *
FROM tbl_Classes
ORDER BY
CASE WHEN ClassName = 'D'
THEN 1
ELSE 2
END ,ClassName DESC
GO

ClassID     ClassName
----------- ----------
4 D
9 I
8 H
7 G
6 F
5 E
3 C
2 B
1 A

حال اگر بخواهیم مقادیر ClassName که برابر با D و E هستند، در ابتدای Result نمایش داده شوند، بصورت زیر اسکریپت را تغییر می دهیم:

SELECT *
FROM tbl_Classes
ORDER BY
CASE WHEN ClassName IN ('D','E')
THEN 1
ELSE 2
END ,ClassName DESC
GO

ClassID     ClassName
----------- ----------
5 E
4 D
9 I
8 H
7 G
6 F
3 C
2 B
1 A


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز