0

我正在根据可用性从数据库中检索数据,并且某些项目不再可用,并且每当显示数据时,我希望始终将过时的项目放在最后。

 Item Name    |    Availability
  item1       |       Yes
  item2       |       No
  item3       |       Yes
  item4       |       Yes

我想总是在最后显示那些不可用的项目。像这样

     Item Name    |    Availability
       item1      |       Yes
       item3      |       Yes
       item4      |       Yes
       item2      |       No

SQL Qry 的任何帮助。

4

3 回答 3

2

您可以使用CASE

SELECT [Item Name], Availability
FROM dbo.TableName
ORDER BY CASE WHEN Availability = 'Yes' THEN 0 ELSE 1 END ASC

Sql-Server example

于 2013-10-25T23:59:45.393 回答
1

按可用性降序排序(是,在否之前)。

SELECT [Item Name], Availability
FROM dbo.TableName
ORDER BY Availability DESC, [Item Name] ASC

SQL小提琴

于 2013-10-26T04:43:04.437 回答
0

您可以添加计算的 BIT 列 0 表示是,1 表示否,并在您的选择中按该位列子句添加顺序

于 2013-10-26T00:01:05.013 回答