|
|
|
Помогите с ЗАПРОСОМ
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста, с запросом в следующем примере Таблица: Дата Количество Участок 09.06.06 25 11 10.06.06 5 10 10.06.06 7 11 10.06.06 10 11 11.06.06 1 10 11.06.06 4 11 12.06.06 20 12 12.06.06 15 11 12.06.06 20 12 12.06.06 30 10 13.06.06 40 11 Задача: получить разность максимальных значений поля 'Количество', сгруппированных по полю 'Дата'. В результате следующего запроса: SELECT Дата,MAX(Количество) AS Result FROM Таблица WHERE Участок BETWEEN 11 AND 11 AND Дата BETWEEN Cdate('10.06.06') AND Cdate('12.06.06') GROUP BY Дата получается: Дата Result 10.06.06 10 11.06.06 4 12.06.06 15 Но это мало. Нужно получить разность максимумов, т.е 15-10=5. Помогите, кто сможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 05:17 |
|
||
|
Помогите с ЗАПРОСОМ
|
|||
|---|---|---|---|
|
#18+
Разность общего максимума по отнощению к строкам сгруппированным максимумо по дате т.е. новое поле 10.06.06 10 (15-10=5) 11.06.06 4 (15-4=11) 12.06.06 15 (15-15=0) так или нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 07:09 |
|
||
|
Помогите с ЗАПРОСОМ
|
|||
|---|---|---|---|
|
#18+
Извини, я немного не понял вопроса, поэтому, попробую объяснить по другому. В данном примере, исходя из запроса, получилось новое поле 'Result', в котором 10 это максимальное за 10.06.06; 4 это максимальное за 10.06.06; 15 это максимальное за 10.06.06. Поскольку поиск групповой, то и выдало по каждому максимальному значению в своей группе - 'Дата'. Но мне не нужны три максимальных значения (как у меня получилось), а одно, которое будет разностью ЭТИХ ПОЛУЧЕННЫХ максимальных значений (15-10=5) за первое число (в данном примере 10.06.06) и последним числом (в данном примере 12.06.06). Если бы в запросе, допустим, было не Дата BETWEEN Cdate('10.06.06') AND Cdate('12.06.06'), а Дата BETWEEN Cdate('10.06.06') AND Cdate('13.06.06'), то получилось бы Дата Result 10.06.06 10 11.06.06 4 12.06.06 15 13.06.06 40 и разность максимальных значений 40-10=30 Получается, что нужно найти как бы результат от результата. Возможно это можно сделать с помощью подзапроса. P.S. TIKO, прошу прощения, если пытался что-то типа разжевывать, я уверен, что Вам можно было проще объяснить, но может быть другим тоже было не понятен вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 08:38 |
|
||
|
Помогите с ЗАПРОСОМ
|
|||
|---|---|---|---|
|
#18+
Ну ты хоть напиши, как должен выглядить рещультат. Так? Код: plaintext 1. 2. Или так? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 09:10 |
|
||
|
Помогите с ЗАПРОСОМ
|
|||
|---|---|---|---|
|
#18+
запрос в запросе можно использовать select t, (select max(t2) from table where id=1) from table так же можно подзапрос вставить в кретерии where t2=(select max(t2) from table) но если подзапрос воздвращает одну запись таже можно вставить дополнительный оператор критерия having max(t2)>1 после оператора груп так же пожно присоеденить два запроса с помощью оператора UNION select 1,2,2 from 4 UNION select 1,2,2 from 5 но столбцы колонок должны быть одинакового количества PS само решение нет в вопросе, пробуй сам или выложи базу и желаемый результат будет время попробую помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 10:00 |
|
||
|
Помогите с ЗАПРОСОМ
|
|||
|---|---|---|---|
|
#18+
TIKOзапрос в запросе можно использовать select t, (select max(t2) from table where id=1) from table так же можно подзапрос вставить в кретерии where t2=(select max(t2) from table) но если подзапрос воздвращает одну запись таже можно вставить дополнительный оператор критерия having max(t2)>1 после оператора груп так же пожно присоеденить два запроса с помощью оператора UNION select 1,2,2 from 4 UNION select 1,2,2 from 5 но столбцы колонок должны быть одинакового количества PS само решение нет в вопросе, пробуй сам или выложи базу и желаемый результат будет время попробую помочь само решение нет в запросе , пробуй сам или выложи базу и желаемый результат будет время попробую помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 10:03 |
|
||
|
|

start [/forum/topic.php?fid=60&tid=2165695]: |
0ms |
get settings: |
7ms |
get forum list: |
25ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 520ms |

| 0 / 0 |
