Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

Помогите с SELECTом   Найти похожие ветки 

 
Anders   (2002-04-23 12:41) [0]

Есть таблица t1:

f1 summa recnum
5 100 1
5 70 2
7 200 1
7 50 2
7 150 3

Вопрос: Как без подзапроса получить следующую выборку (по полю f1 с максимальным значением поля recnum):

f1 summa recnum
5 70 2
7 150 3

Бо с позапросом жутко тормозит (20000 записей в массиве)

Заранее благодарен.


 
Lusha   (2002-04-23 12:55) [1]

Как без подзапроса получить следующую выборку...

А как Вы это делаете с подзапросом...


 
Anders   (2002-04-23 13:09) [2]

Делаю так:

SELECT f1, summa, recnum
FROM t1 t
WHERE recnum = (SELECT max(recnum)
FROM t1
WHERE f1=t.f1 )

И я в печали ...


 
Lusha   (2002-04-23 13:21) [3]

А так...

select f1, sum, recnum from t1
where (f1, recnum) in (select f1, max(recnum) from t1 group by f1);


 
Johnmen   (2002-04-23 13:37) [4]

SELECT f1, summa, recnum
FROM t1 t
WHERE recnum = (SELECT max(recnum)
FROM t1)


 
Val   (2002-04-23 13:39) [5]

>Johnmen © (23.04.02 13:37)
не учитываете f1, выборка произойдет :
7 150 3


 
Johnmen   (2002-04-23 13:50) [6]

SELECT f1, f2, f3
FROM tbltest1 T
WHERE f3 = (SELECT max(f3)
FROM tbltest1 U
WHERE T.f1=U.f1)

Железно работает !


 
MVova   (2002-04-23 13:52) [7]

SELECT f1, summa=min(Summa) , recnum = Max(recnum)
FROM t1
GROUP BY F1


 
Anders   (2002-04-23 13:52) [8]

Спасибо, полегчало :)

Выборка по одному значению поля f1 вместо 3с. производится
за 1.3с.

Но, как в мультике,"маловато будет ...".

Как еще, можно ли, ушустрить выборку?

Бо значений поля f1 много.



 
Johnmen   (2002-04-23 13:58) [9]

Ушустрить выборку можно, если не применять вложенных подзапросов,
но в твоем случае это нереально !


 
Anders   (2002-04-23 14:00) [10]

>> MVova
>> SELECT f1, summa=min(Summa) , recnum = Max(recnum)
>> FROM t1
>> GROUP BY F1

Такая конструкция FROM не находит, и идею не понял ее


 
Lusha   (2002-04-23 14:05) [11]

>Anders © (23.04.02 13:52)
А индексы задействованы?


 
panov   (2002-04-23 14:05) [12]

>Anders
А индексы созданы?


 
Anders   (2002-04-23 14:10) [13]

Исходный массив t1 - это представление (view)


 
Anders   (2002-04-23 14:14) [14]

Вдогонку: значения поля recnum формируются в представлении


 
Johnmen   (2002-04-23 14:15) [15]

>Anders © : Только один вопрос : Johnmen © (23.04.02 13:50) работает или нет ?


 
MVova   (2002-04-23 14:16) [16]

>> Anders
>> Такая конструкция FROM не находит
не находит чего

у меня результат
5 70.0 2
7 50.0 3

извиняюсь но тут одна неточность если добавить еще запись
7 300 3
будет выбрана только одна из тех у которых f1 = 7


 
Anders   (2002-04-23 14:17) [17]

Да, он то у меня и показывал 3с. на одно значение поля f1


 
Anders   (2002-04-23 14:25) [18]

>> MVova © (23.04.02 14:16)
Под ORACLE работает такая конструкция:

SELECT f1, min(Summa) summa, Max(recnum) recnum
FROM t1
GROUP BY F1

Но у меня вопрос в другом. см. начало дискуссии




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
3-64496
Malyatko
2002-04-22 10:31
2002.05.20
Нужна помощь.


14-64803
Box
2002-04-10 15:04
2002.05.20
Архиватор ZIP


1-64684
Maloy
2002-05-06 12:02
2002.05.20
Отчеты при помощи Word а


4-64869
Serd_hhc
2002-03-17 10:44
2002.05.20
Хук (или ещё что), не использубю DLL.


1-64661
Spike_msu
2002-05-01 22:35
2002.05.20
Как зделать????





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский