-3

如何在 sqlserver 中完成这样的操作

select firstname,count(*) from
(select distinct firstname,lastname,amount 
from emp)
group by firstname

这适用于甲骨文。

4

3 回答 3

0

我不明白你想做什么,但你的查询可以这样写:

SELECT firstname, COUNT(*) 
FROM emp
GROUP BY firstname;

或者:

select firstname, count(*) 
from 
(
  select distinct firstname, lastname, amount 
  from emp
) AS t
group by firstname;

您也可以在;中使用DISTINCT关键字。COUNT像这样:COUNT(DISTINCT columnanme)相反。


或者:

select firstname, lastname, amount, COUNT(*)
from emp
group by firstname, lastname, amount;
于 2013-04-05T22:07:17.467 回答
0

这是我工作的一些东西的一个例子,它们基本上做同样的事情:

SELECT SYS_CSL, COUNT(SYS_CSL)
FROM (
    SELECT SYS_CSL 
    FROM [VANTAGE_READ].CSL_SERV_RANK
    WHERE AGNT_CSL = 0
    AND (STOP_DTE_CSL > GETDATE() OR STOP_DTE_CSL IS NULL)
    ) t1 GROUP BY sys_csl
于 2013-04-05T22:09:36.937 回答
0

您需要命名派生表

select firstname, count(*)  
from  (select distinct firstname,lastname,amount from emp) derived 
group by firstname
于 2013-04-05T22:15:31.307 回答