Как добиться, как это в SQLServer
Coun (*), различны и столбец
select firstname,count(*) from
(select distinct firstname,lastname,amount
from emp)
group by firstname
Это работает в оракула.
Как добиться, как это в SQLServer
Coun (*), различны и столбец
select firstname,count(*) from
(select distinct firstname,lastname,amount
from emp)
group by firstname
Это работает в оракула.
Я не понимаю, что вы пытаетесь сделать, но ваш запрос может быть записан следующим образом:
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;
Не те, которые не то же самое. jim smith 10, jim smith 10 Первый выбор будет считать 2, а второй счет 1. – Paparazzi
@Blam - Да, вы правы, они могут отличаться, но ОП не объяснил, чего он пытается достичь, поэтому я даю у него разные альтернативы. –
Спасибо, это именно то, что мне нужно. Это второй запрос, который работает для меня. – SMITH
Вот пример из некоторых вещей, где я работаю, что делает в основном то же самое:
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