SQL - 按别名上的 Max() 排序

标签 sql sql-server tsql aggregate-functions

我发现我无法在 sql 查询的 select 语句中的某些别名上获得 MAX()?

例子:

Select  
    CASE WHEN CompletionDate IS NOT NULL THEN DATEDIFF(d, CreatedDate, CompletionDate) ELSE NULL END AS DaysLong
from CombinedMastervw 
WHERE CreatedDate Between '03/01/2019 23:59:59.991' AND '04/01/2019 23:59:59.991'
ORDER BY MAX(dayslong)

因此我的问题是关于 MAX(dayslong),我是否必须在 SELECT 语句中使用相同的代码结束 Max?

最佳答案

您应该可以使用别名。

尝试:

ORDER BY dayslong

Max(dayslong) 将返回您选择的表格中的单个最大值,因此您不能按它排序。

关于SQL - 按别名上的 Max() 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55602267/

相关文章:

sql-server - 如何在T-SQL中检查一组数字是否连续?

c# - 为什么 "SELECT * FROM user"会抛出语法错误?

mysql - SQL:复合查询

sql-server - 使用什么来打开 .mdf(SQL 数据库)文件

SQL Server 基于列值的条件连接

sql - 如何取消透视三种类型的值(包括列标题)

MySQL:如何确保更新始终在选择之前执行?

mysql - 从性能点理解两个查询之间的区别

asp.net - IIS 服务器内存不足会导致 SQL 超时(SQL Server 在单独的机器上)吗?

c# - 在 SQL Server 中创建 ASCII SHA-512 哈希