Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Выборка первых строк из групп.   Найти похожие ветки 

 
Wolfram   (2004-07-16 11:08) [0]

Здраствуйте. Есть записи, сгруппированные в таблице по одному полю, а среди этих записей у 3 записей (например) - код по другому полю 5, у другой группы записей - 8, и т.д.
Короче, c1=65 у всех, c2=6,9,15... Как выбрать из групп записей с2 по одной - первой - строке? Как вариант - выборка в один Query всех нужных записей по с1 и потом в принудительном порядке выбирать по первой записи из каждой группы, но это сильно замедляет работу. Есть ли возможность с помощью sql как-то это сделать в одном запросе?


 
Johnmen ©   (2004-07-16 11:11) [1]

"Ты не умничай, ты рукой покажи." (с) известный анекдот


 
Соловьев ©   (2004-07-16 11:13) [2]

если бы ты писал четче свои мысли может и помог бы, а так ничего не понял...


 
Wolfram   (2004-07-16 11:18) [3]

Кароче.
select nz, fio, oplata, c_agentstvo, c_zaezd, c_gostin from clients.db where annul<>"y" and c_agentstvo="+inttostr(c_a)+" order by c_gostin, c_zaezd, nz
Выдается список клиентов. 4 чела имеют 1 общий nz. Как выбрать только первого из них? Ради экономии бумаги. А то шибко много по 500 чел-к списки печатать.


 
Соловьев ©   (2004-07-16 11:25) [4]


> Wolfram   (16.07.04 11:18)

не пойму как это связано с первым постом.

ЗЫ Не мог бы ты писать на нормальном языке, а не по "блатному" - коробит аж.


 
Johnmen ©   (2004-07-16 11:26) [5]

>Wolfram  

Ключ или уникальный индекс есть ?


 
Wolfram   (2004-07-16 11:32) [6]

Извините. Давайте попробуем на первое сообщение не обращать внимание, ибо не силен я в теории БДстроения и SQLвыражения. Итак. Имеется запрос select nz, fio, oplata, c_agentstvo, c_zaezd, c_gostin from clients.db where annul<>"y" and c_agentstvo="+inttostr(c_a)+" order by c_gostin, c_zaezd, nz
. Использование distinct после select не дает требуемого результата. Как выбирать из группы записей, удовлетворяющей всем требованиям, только первую запись?
Заранее благодарен.


 
Соловьев ©   (2004-07-16 11:33) [7]


> всем требованиям, только первую запись?

на клиенте.


 
Wolfram   (2004-07-16 11:34) [8]

>Johnmen
Ключ есть, но что с ним делать? В смысле, в данной ситуации я не вижу его приемлемого использования.


 
Wolfram   (2004-07-16 11:35) [9]

>Соловьев

>на клиенте.

В смысле?


 
Johnmen ©   (2004-07-16 11:38) [10]

>Wolfram

SELECT * FROM Table T1
WHERE <Key>=(SELECT MIN(<Key>)
            FROM Table T2 WHERE T1.nz=T2.nz)


Это общая схема. Возможно в Парадоксе не пройдет...


 
Wolfram   (2004-07-16 11:43) [11]

>Johnmen

Все проще. Таблица одна (clients.db). Из 4 записей надо выбрать первую. Или я не понимаю.


 
Johnmen ©   (2004-07-16 11:48) [12]

>Wolfram   (16.07.04 11:43) [11]
>Или я не понимаю.

Очень похоже :)
По какому критерию первую ? "Вот в чем вопрос" (c)


 
Wolfram   (2004-07-16 11:51) [13]

>Johnmen

Зря я сразу не сказал. У каждого клиента есть еще уникальное индексированное поле codeid. В выборке получаются напр. 20 групп, в каждой по 2-3-4 записи. Надо выбрать первую запись из группы.


 
Wolfram   (2004-07-16 11:53) [14]

Забыл дописать. Первая - с минимальным в группе codeid. Вот как только я это написал, то почти все понял. Буду очень благодарен за пример запроса.


 
Johnmen ©   (2004-07-16 12:01) [15]

[10]


 
Wolfram   (2004-07-16 12:12) [16]

Спасибо, работает! В [10] меня смутили 2 таблицы, но как 2-ю поставил 1-ю и все ОК! Тяжелая у вас работа - простые вещи объяснять...



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

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1090216479
serg128
2004-07-19 09:54
2004.08.08
Подскажите хорошую статью по написанию служб в C++ Builder Delphi


4-1088449171
parovoZZ
2004-06-28 22:59
2004.08.08
OpenGL и WinApi


3-1089660270
softmaster
2004-07-12 23:24
2004.08.08
И снова по ФастРепорт вопросик...


1-1090607313
Mental_Ray
2004-07-23 22:28
2004.08.08
Окно сворачивается в свой заголовок, как это сделать?


8-1084825661
init13
2004-05-18 00:27
2004.08.08
OpenGL. (GLScene) Текст - в - 3d объект





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский