如何完成这样的在SQLSERVER
COUN(*),不同的和列
select firstname,count(*) from
(select distinct firstname,lastname,amount
from emp)
group by firstname
这工作在oracle中。
如何完成这样的在SQLSERVER
COUN(*),不同的和列
select firstname,count(*) from
(select distinct firstname,lastname,amount
from emp)
group by firstname
这工作在oracle中。
我不明白你有什么做的,但你的查询可以这样写:
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;
下面是一些东西的例子,我的工作,基本上做同样的事情:
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
您需要命名派生表
select firstname, count(*)
from (select distinct firstname,lastname,amount from emp) derived
group by firstname
说出你的实际问题是很有帮助的。在这种情况下,当您在SQL Server中运行查询时会发生什么?你是否有错误,或错误的结果,或者发生了什么? – Pondlife 2013-04-05 22:10:36