|
|
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
ACC 2000, XP таблица proxies содержит 8000 записей сохраненный запрос Q1: Код: plaintext 1. 2. Вопросы сколько записей вернет запрос ? почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 11:50 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
100 записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 11:52 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
теоретически или практически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 11:53 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
ежели ты хочешь получить именно РАЗЛИЧНЫХ 100 записей то пиши вот так SELECT DISTINCT TOP 100 proxies.test_count FROM proxies ORDER BY proxies.test_count имначе она возвращает ВСЕ встречающиеся 100 значений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:00 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
с синтаксисом MSJet SQl я знаком. меня интересует глюк с конструкцией SELECT top 100 + ORDER BY только у меня выдает все 8000 записей или .... ACC 2002 MDB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:03 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
ты же даешь сортировку по конкретному полю, значит ей надо вернуть 100 уникальных значений, а не 100 записей убирая сортировку, аксесс уже не задумывается о твоей цели и тупо дает 100 записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:04 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
Алексей, я, правда, проверяю на А2002. так что не обессудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:06 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
какая - то хрень , наверное я чего то напутал сам- в примере упрощено. немного разберусь - напишу в чем дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:12 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
конкретизирую таблица содержит test_count - 4000 записей - значение 0 остальные 1; proxies.proxy - уникальное текстовое поле вот запрос который должен выбрать 100 записей так работает - 100 записей Код: plaintext 1. а так нет - выбирает все записи Код: plaintext 1. 2. и так все записи Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:32 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
Недавно столкнулся с аналогичной проблемой. AccessXP как-то интересно тянет строки. К примеру, один и тот же запрос с префиксом TOP 30 может вытянуть и 35 и 50 строк. В зависимости от данных. Но самое печальное даже не это. Вот зачем мы используем оператор TOP ? Что бы быстрее тянуть данные по сетке. А как только в запросе участвует оператор сортировки ORDER, то аксесу становиться глубоко возложить на этот самый ТОР. Он пока все данные по запросу не вытянет, не успокоится. Получается, что смысла в ТОПЕ нету ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:38 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
Алексей, видно ты меня не слушаешь. у тебя столбец содержит 0 и 1. других значений у тебя нет. записей у тебя 8000. если не использовать сортировку, значит ты хочешь ЛЮБЫХ 100 записей. она тебе и возвращает. как только ты ставиьш сортировку, аксесс думает, что ты хочешь получить 100 РАЗЛИЧНЫХ записей, а у тебя только 2 значения - 0 и 1 и ей ничего не остается делать, как вернуть тебе все 8000 записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:43 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
ААААААААААААаа Идиоты!!! (шутя) Хелп читайте Select Top N ... Выдаст от 0 до плюс бесконечности записей. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А у тебя там все записи 0 или 1 Разумеется он все вернет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:46 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
ну как всегда апаздал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:48 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
2 Kourdikov Sergey как раз в твоем случае получается ситуация когда несколько записей имеют одно и то же значение и размер выборки увеличивается. что касается быстрее тянуть данные по сетке то вряд ли это быстрее получится без использования архитектуры клиент- сервер. так как какими не были бы запросы - они все равно выполняются на клиенте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:48 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
2 АлексейК Да и в твоем случае записи имеют одинаковые значения - 0 или 1 (по твоим же словам). Кажется, ты ни хама, ни меня не слушаешь. Ухожу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:55 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
2 Лох Позорный, Хам трамвайный я очень внимателен !!!! смотрим еще раз.... так все записи 8000 штук Код: plaintext 1. 2. а так только 100 Код: plaintext 1. 2. разве должно влиять содержание предложения ORDER BY на количество строк выборки???? Это же не where !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:57 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
И чему ты удивляешься???? proxies.proxy - уникальное текстовое поле Ты это сам сказал? Значит и proxies.test_count, proxies.proxy - уникальная комбинация. Только 100 записей и выберет при сортировке по этим полям. proxies.test_count - неуникальное поле. При сортировке по нему повторяющиеся значения считаются за одно (TOP-ом). разве должно влиять содержание предложения ORDER BY на количество строк выборки А почему бы и нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:03 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
В догонку (поглумлюсь над трупом) В T-SQL можно и так, и так. Т.е. чтобы повторяющиеся значения или считались за одно, или считались за разные. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:06 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
кажется я только сейчас проникся причиной такого поведения запрос сначала строит набор записей из предложения ORDER BY и если поле не включено в сортировку то оно не учавствует в обрезке запроса по TOP.... почему я решил что это глюк - потому что в ADP такой запрос работает по другому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:13 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
В adp оно по умолчанию работает по другому, но можно заставить работать и точно так же (см. мой предыдущий пост). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:19 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
я глюки разведу рукааааааааааамиииииии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:23 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
Хам, ты чего песни то поешь? Вроде еще не пятница? Ааа, 1-е сентября... В детство ударился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:25 |
|
||
|
Вопрос на засыпку select top
|
|||
|---|---|---|---|
|
#18+
Чтож, Всем спасибо. Вопрос исчерпан. Выводы: - при переходе на ADP следует заменять SELECT TOP 100 на SELECT TOP 100 WITH TIES - при построении запроса MDB включать в Order By все столбцы определяющие выборку для TOP n. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32252468&tid=1679650]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 390ms |

| 0 / 0 |
