sql:Max()-1是什么意思?
我有一个关于最大的一些问题()sql:Max()-1是什么意思?
-
是什么下面的查询是什么意思?
SELECT MAX(X) -1 FROM T
我了解到,语法应为:
SELECT (MAX(X) -1) as max_minus_one FROM T
没有?聚合函数(即
Max()
)后面必须跟着GRUOP BY
?
MAX(x) - 1
只是表示表中x的最大值减1。
您总是可以使用括号和别名(as some_cool_name
)使事情更清楚,或更改结果中的名称。但第一个语法是完全有效的。
你只需要GROUP BY
,如果你打算选择什么更多的汇总值,这样,例如:
select
userName,
avg(age)
from
users
group by
userName
那将意味着“比列X的最大值一个都不能少”。 (a)不,那是添加一些东西。 (b)不,不是当你选择这样一个单一的列时。
SELECT MAX(X)-1
和
SELECT(MAX(X)-1)
是相同的。
在这种情况下,您不需要GROUP BY,因为您没有选择其他非聚合字段。
A.其税收的最大值和减去1
B.如果它只是一个agregate功能,则没有。如果你指定另一列,那么你必须在GROUP BY中使用它。
如果我再指定两列,是否必须组合bu col1,col2? – 2011-06-08 15:36:05
是的,您需要按聚合函数中未使用的所有列进行分组 – CristiC 2011-06-09 07:09:29
使用别名 将返回一列和一行的表:max_minus_one和结果值 while w/o别名我会简单地得到结果值 - 不在表中? 我是否正确? – 2011-06-08 15:26:03
集合函数(avg,max,sum等)和* alias *是两个完全不相关的东西。 使用别名会*名*聚合函数的其他未命名的结果,这在许多情况下很有用。 但是'SELECT'语句的结果总是一个结果集,而不是一个表,也不是一个标量值(单个值),即使它只有一行一列。 – 2011-06-08 15:37:05