按计算列排序T-SQL

use*_*365 5 sql t-sql

我有一个包含这些列的表: ID, Price, IsMonthlyPrice

我如何选择所有并按周价格排序,同时考虑到:

if (IsMonthlyPrice = false) then Price is weekly
Run Code Online (Sandbox Code Playgroud)

编辑:

我需要按每周价格排序

每月价格的每周价格为:价格*12/52

Po-*_*toe 17

您不需要包括两次计算.您可以订购列号

SELECT 
    ID, 
    Price, 
    IsMonthlyPrice, 
    CASE IsMonthlyPrice
    WHEN 1 THEN Price * 12 / 52
    ELSE price
    END
FROM [TABLE]
    order by 
        4
Run Code Online (Sandbox Code Playgroud)

  • 最好给列添加一个别名和`ORDER BY alias` (9认同)