![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тест по Delphi при приеме на работу [D6, Win2k]
Anna © (2005-01-25 16:14:00)
Страницы: < 1 2 3 4 5 6 7 8 9 >
Уважаемые профессионалы, помогите, пожалуйста! При приеме на работу надо выяснить уровень компетентности человека в Delphi.
Может быть, кто-нибудь знает недлинный тест, котором достаточно быстро можно понять, насколько кандидат в предмете.
Я Delphi немного знаю.
Александр Иванов (2005-01-28 14:27:00) [21]Rule © (28.01.05 14:23) [157]
Зачем first, если можно просто max?
Romkin (2005-01-28 14:26:00) [22]Ну нету там first! Так что обходитесь.
Запрос вообще и предыдущему стандарту удолетворяет :))
Rule © (28.01.05 14:21) [156] Почти :)
Rule (2005-01-28 14:23:00) [23]Rule © (28.01.05 14:21) [156]
все нормально, только вот я не уверен что ферст есть в 92 ....
Rule (2005-01-28 14:21:00) [24]Усовершенствовав предыдущий запрос с учетом
Romkin © (28.01.05 13:33) [149]
то получается
select client_id from t group by client_id having sum(cnt)=
(select first 1 sum(cnt) from t group by client_id order by sum(cnt) desc)
Rule (2005-01-28 14:13:00) [25]Romkin © (28.01.05 14:08) [153]
Очень прошу, не надо публиковать решение, очень хочеться подумать :-)
Romkin (2005-01-28 14:08:00) [26]Александр Иванов © (28.01.05 13:46) [152] Идея правильная :)
Rule (2005-01-28 14:08:00) [27]Romkin © (28.01.05 13:33) [149]
действительно :-), не подумал ....
Romkin © (28.01.05 13:36) [150]
а разве в последнем интербейзе не появилося ?, я лично с ним не сталкиваюсь, но ктото вроде говорил ....
а в фаерберде, то понятно что нет :)
Александр Иванов (2005-01-28 13:46:00) [28]Romkin © (28.01.05 13:33) [149]
HAVING?
Romkin (2005-01-28 13:37:00) [29]JJJ (27.01.05 16:53) [138] Не расстраивайся. Я потратил на решение этой задачки 2 часа. И все вокруг говорили, что это невозможно :)))
Romkin (2005-01-28 13:36:00) [30]Rule © (28.01.05 13:23) [148] select from select нету в Firebird :)
Romkin (2005-01-28 13:33:00) [31]Select from select и first - не подходит :)))
Нетути. Все проще и элегантнее делается ;)
А с first еще и проблема: с максисумом-то может быть несколько client_id, и надо бы получить все, а не первый попавшийся
Rule (2005-01-28 13:23:00) [32]Fay © (28.01.05 3:33) [146]
кто сказал что нет ?
Derevyanniy kak Rels (2005-01-28 11:41:00) [33]
Jack128 ©
Насколько я помню - третий. Я каждый раз НАПРОЧЬ забываю ответ на этот вопрос и начинаю думать по новой. Надеюсь в следующий раз отвечу сам и без подсказок..
Ну значит в подчетах ошибся , кстати я тоже постоянно забываю ответ на него .
наде еще раз пять будет прочитать ответ :) :)
Fay (2005-01-28 03:33:00) [34]2 Rule © (27.01.05 18:58) [143]
>> вложеные запросы вроде тоже не очень то по правилам ....
Ага. Их же нет в IB/FB! 8)
TUser (2005-01-27 19:16:00) [35]
> _Lucky_ (27.01.05 13:43) [131]
Если не секрет. Я вот переписал это дело - сделал Vector указателем и соотвественнос все переписал. Заработало. Только мне очень интересно почему так (во времена ТР я был дитем малым, так что извините) - там что массивы в качестве параметров как-то по-другому передавались?
Rule (2005-01-27 18:59:00) [36]Rule © (27.01.05 18:58) [143]
хотя утверждать не буду, давное не читал SQL92, мож кто поправит ...
Rule (2005-01-27 18:58:00) [37]raidan © (27.01.05 18:39) [142]
странно, а я на фаерберде решил проверить, и заработало сразу, написал даже без ошибок ... руку уже набил :-), про Оракл ничего не скажу, я его не знаю, значит я был прав и не очень мой запрос совместим с SQL92, но твой тоже, так как вложеные запросы вроде тоже
SELECT max(csum)
FROM (SELECT tio.client_id AS cid, sum(tio.cnt) AS csum
FROM t tio
GROUP BY tio.client_id)
не очень то по правилам ....
raidan (2005-01-27 18:39:00) [38]>Rule © (27.01.05 18:24) [140]
На Оракле не заработает ни в жисть :)
(я уж проверил :))
Громоздяку пришлось написать :(
raidan (2005-01-27 18:33:00) [39]Забыл SQL92 напрочь :(
Неправильный, наверна, будет ответ :(
SELECT *
FROM (SELECT tio.client_id AS cid, sum(tio.cnt) AS csum
FROM t tio
GROUP BY tio.client_id)
WHERE csum = (SELECT max(csum)
FROM (SELECT tio.client_id AS cid, sum(tio.cnt) AS csum
FROM t tio
GROUP BY tio.client_id))
Rule (2005-01-27 18:24:00) [40]JJJ (27.01.05 16:53) [138]
ну так на вскидку навернео что-то типа
select first 1 client_id from t group by client_id order by sum(cnt) desc
хотя почемуто меня мучают сомнения что это не соответствует стандарту SQL92, там помоему ферст нет ....