|
|
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
Друзья, сегодня я видел чудо! Вот как дело было: Выбираю из таблицы 3 поля: код товара, дату продажи и цену. Запрос дает всю историю. Добавляю TOP 10 (без %). Получаю 10 записей. Добавляю сортировку по убыванию дат - 12 записей. Меняю сортировку на убывание цен - 11 записей. Читаю в хелпе: Microsoft Access возвращает указанное число записей, а также все записи, у которых значение в первом поле совпадает со значением этого поля в последней отобранной записи. Возникает 2 вопроса: 1. Как это обойти? Мне нужно ровно 10 записей, даже если у следующих совпадают значения. 2. Почему без сортировки работает правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 17:08 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
1. SELECT DISTINCT TOP 10 Field FROM Table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 17:29 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
Добавляю сортировку по убыванию дат - 12 записей. потому что у 3 последних дат - одно значение откуда ему знать какую из записей оставить а какую отбросить поставь вторым критерием сортировки поле счетчика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 17:39 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
Нет, DISTINCT тут не подходит, он испортит картину. Мне нужно получить среднюю цену последних 10 операций. А если взять DISTINCT, он даст 10 не последних, а 10 _разных_ последних, а счетчика в таблице нет, поэтому это не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 18:57 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
АлексейК потому что у 3 последних дат - одно значение откуда ему знать какую из записей оставить а какую отбросить поставь вторым критерием сортировки поле счетчика пусть возьмет любую, мне все равно =) лишь бы не больше 10! счетчика нет, а второй сортировкой стоит убывание цены. Но она тоже как назло одинаковая на этих 3 последних записях =(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 19:51 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
Можно добавить в запрос вычисляемое поле вида rnd(a), где a - одно из других полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 22:35 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
rnd тоже лажа в отличие от бейсика для дос может я чего не так понимаю но дает она 4 значения по очереди лучше написать свою функцию - нумератор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 10:32 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
Ну что за лажа?! Неужели нет встроенного средства? Создатели аксеса так и планировали, если нет ключа в наборе данных то пусть каждый юзер напишет себе по функции-нумератору?? И как обычно в хелпе об этом ничего =(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 11:14 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
нефиг одно и то же обсуждать по кругу \r тынц\r \r и не фиг говорить что этого нет в хелпе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 11:29 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
авторrnd тоже лажа в отличие от бейсика для дос может я чего не так понимаю но дает она 4 значения по очереди Именно что "не так". (видимо передавались отрицательные аргументы, или, иногда,0. Т.е. время от времени последовательность перезапускалась) авторМожно добавить в запрос вычисляемое поле вида rnd(a), где a - одно из других полей Неправда ваша. Надо еще и следить чтобы аргумент rnd() был больше 0 (или отсутсвтовал). НАпример rnd(1+[a] - [a]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 12:13 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
а не проще ли Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. функция будет давать нумерацию по кругу, но для top сгодится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 12:18 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
Да Лошара, ты прав, я нашел этот текст в хепле. Со вторым вопросом мне уже понятно. Давайте определимся с первым: АлексейК предлагает добавить в сортировку ключевое поле, а если нет ключа то писать функцию нумерации. Я нашел еще один вариант - в первом запросе просто сортируем по дате, второй берет из первого ТОП 10 _не сортируя_. Какие еще будут мысли? ЗЫ: А насчет "одно и то же обсуждать по кругу", дык напрягись и сотвори из топика фак, это ж легче чем из воды вино? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 17:17 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
тебе уже сочинили фак - называется хелп но ты же его не читаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 17:21 |
|
||
|
TOP 10
|
|||
|---|---|---|---|
|
#18+
авторно ты же его не читаешь Да ладно, не обижайся! ;-) Или ты в душе факоборец? тогда почему не сотрешь те статьи, которые уже попали в раздел фак сайта? =)) Насчет встроенного хелпа ни разу не слышал, что он полон или удобен, а вот что статьи плохо связаны друг с другом много раз слышал, и что информация не полная (тот же vbMonday), и что находится не в том месте где должна (правила округления Int\CInt) тоже. Поэтому не путай его с факом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 19:24 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1675802]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
11ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 476ms |

| 0 / 0 |
