|
|
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! поскажите, как правильно написать запрос. вот информация: 1) если использую такой код Код: plaintext 1. 2. 3. 4. 5. то у меня выбирается порядка 10 записей. 2) а если такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. то количество вырастает в сотни, хотя мне нужно, получить tikers упорядоченные согласно росту их цены. order by я даже еще не пишу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:00:43 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
Попробуй выполнить запрос без GROUP BY: Код: plaintext 1. 2. 3. 4. 5. Сколько записей вернул? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:38:53 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
1669 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:44:09 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
те убирание не влияет. я так понимаю, что это просиходит при расширении области действия дистинкта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:48:02 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
IMHO то, что вы хотите получить это Код: plaintext 1. 2. 3. 4. 5. 6. PS или MIN(((m.stop - m.start) / m.stop)) или AVG(((m.stop - m.start) / m.stop)) или другая агрегатная функция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:56:15 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
Совершенно верно. distinct (m.ticker), (m.stock) делает группировку по двум полям, а distinct (m.ticker), (m.stock), ((m.stop - m.start) / m.stop) по трём. Так-что надо агрегат по третьему полю использовать и группировку по первым двум полям, тогда кол-во записей будет одинаковым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:56:55 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
Ну вот, значит все верно. SELECT DISTINCT выбирает неповторяющиеся (уникальные) записи , делая проверку по всем реквизитам. Первый запрос выбирает уникальную комбинацию 2х полей, второй - 5ти. Согласись - это не одно и тоже? Так попробуй (только учти - могу ошибиться, т.к. навскидку пишу): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. PS В качестве подзапроса взял твой с небольшой модернизацией. Но я бы попробовал упростить и оптимизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:57:30 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
Ну вот, Glory меня обставил :0(. Однако, сделал проще. Вот что значит - класс! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 11:02:11 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
2 Glory - жили бы Вы в Новосибирске, поставил бы пива :) а так просто спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 11:05:31 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
тут такой косяк возникает: Код: plaintext 1. 2. 3. вот первые записи, которые он возвращает: EESR -.1758241758241758241 Код: plaintext 1. 2. вот первые записи, которые он возвращает: EESR .1501000667111407605 те получается, что eesr является как лидером роста, так и лидером падения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 11:55:05 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
А что - такое невозможно ? Или логически противоречит чему-то ? В одной записи для EESR (m.stop - m.start) / m.stop = -0.1758241758241758241 а в другой = 0.1501000667111407605. Запустите Код: plaintext 1. 2. и прроверьте все возможные знаячения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 12:09:37 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
угу, возможно. тогда я как можно сделать такое: вместо старта и стопа, брать первое и последнее значение за день соотв? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 12:16:24 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
Неуверен, что до конца правильно понимаю вашу задачу. Покажите стркутуру таблицы, кусочек данных и нужный вам конечный результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 12:34:31 |
|
||
|
разростание результатов запроса.
|
|||
|---|---|---|---|
|
#18+
есть 2 таблицы(под ними поля, из которых таблицы состоят) -minutes --ticker --startdate --start --stop -tickers --alias --chip нужно получить список(уникальных)minutes.ticker, таким образом, чтобы они были отсортированны в порядке роста их цены за день.(те (stop-start)/stop) в minutes валятся минутные значения... да и дата еще для каждого тикердолжна браться последняя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 12:58:36 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32048327&tid=1820590]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 321ms |

| 0 / 0 |
