我想得到查询中检索到的所有列的计数。我使用了以下代码:
select count (*)
from (
select distinct ID,salary,name,location
from test
) ;
我收到一条错误消息:
错误的错误;期待AS,ID或quoted_ID
当我添加如下:
select count (*)
from (
select distinct ID,salary,name,location
from test
) as count;
查询现在可以正常工作,但列名称未重命名为给定的别名。这背后的逻辑是什么?
答案 0 :(得分:1)
在Sql中,您必须为子查询提供别名。这就是第二个查询工作原因,第一个查询失败的原因
答案 1 :(得分:1)
我不知道你想要达到的目的,但要纠正这个问题
select count (*) from (select distinct ID,salary,name,location from test ) as myTAble;
子查询将作为您的表进行查询,因此它需要一个 名称或别名
答案 2 :(得分:0)
您正在为表而不是列提供别名。以下查询将起作用。
select count (*) As count
from (
select distinct ID,salary,name,location
from test
) as tbl;