Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Непонятки с вопросом из дампов к 70-433 / 3 сообщений из 3, страница 1 из 1
22.01.2011, 00:51
    #37072691
Lelia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки с вопросом из дампов к 70-433
В дампе к экзамену есть такой вопрос

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 6 .You are a database developer and you have many years experience in database development. Now you are employed in a company which is named Loxgo. The company uses SQL Server  2008  and all the company data is stored in the SQL Server  2008  database. Now you company appoints you to serve for a charity organization which is named AngelPlan. According to the requirement of the charity organization, they want to view the highest  100  different amounts that were donated. So you are writing a query to list the  100  amounts. You have written the code segment below. (Line numbers are used for reference only):
 1  SELECT *
 2  FROM (SELECT Customer.CustomerID, SUM(TotalDue) AS TotalGiven,
 3 
 4  FROM Customer
 5  JOIN SalesOrder
 6  ON Customer.CustomerID = SalesOrder.CustomerID
 7  GROUP BY Customer.CustomerID) AS DonationsToFilter
 8  WHERE FilterCriteria <=  100 
In order to complete the query, you have to insert a Transact-SQL clause in line  3 
Which Transact-SQL clause should be inserted?
A: ROW_NUMBER() OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria
B: DENSE_RANK() OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria
C: RANK() OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria
D: NTILE( 100 ) OVER (ORDER BY SUM(TotalDue) DESC) AS FilterCriteria
Correct Answers: D

Даже есть предположить, что таблицы с пожертвованиями называются SalesOrder, то все равно ответ.... странный
Я бы ответила B (the highest 100 different amounts that were donated)
D ну никак не получается - он должен вернуть всех пользователей для которых есть сумма

"NTILE (Transact-SQL)
SQL Server 2008 R2 Другие версии SQL Server 2008 SQL Server 2005
Распределяет строки упорядоченной секции в заданное количество групп. Группы нумеруются, начиная с единицы. Для каждой строки функция NTILE возвращает номер группы, которой принадлежит строка."

Или я что-то не понимаю?
...
Рейтинг: 0 / 0
22.01.2011, 11:04
    #37072853
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки с вопросом из дампов к 70-433
LeliaЯ бы ответила B (the highest 100 different amounts that were donated)
D ну никак не получается - он должен вернуть всех пользователей для которых есть сумма

"NTILE (Transact-SQL)
SQL Server 2008 R2 Другие версии SQL Server 2008 SQL Server 2005
Распределяет строки упорядоченной секции в заданное количество групп. Группы нумеруются, начиная с единицы. Для каждой строки функция NTILE возвращает номер группы, которой принадлежит строка."

Или я что-то не понимаю?Вроде правильно, судя по задаче, DENSE_RANK().

Если я правильно понял условие - топ 100 "мест" по сумме.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
24.01.2011, 17:53
    #37076058
Xordal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки с вопросом из дампов к 70-433
Leliaпропущено...
Даже есть предположить, что таблицы с пожертвованиями называются SalesOrder, то все равно ответ.... странный
Я бы ответила B (the highest 100 different amounts that were donated)
D ну никак не получается - он должен вернуть всех пользователей для которых есть сумма
пропущено...
Или я что-то не понимаю?
Вы все правильно поняли, ключевое здесь слово different
...
Рейтинг: 0 / 0
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Непонятки с вопросом из дампов к 70-433 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]