Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Группировка с выбором первых записей 
V
    Опции темы
Данкинг
Дата 6.2.2012, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



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

ID    FIO
1     Вася
2     Вася
3     Вася
4     Вася
5     Петя
6     Петя
7     Вова
8     Вова
9     Вова
10   Миша
11   Миша

Нужно сгруппировать записи по ФИО, но чтобы для каждого ФИО взялась запись с первым ID, т.е.:
1     Вася
5     Петя
7     Вова
10   Миша

select * from table group by fio .... и что дальше?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akina
Дата 6.2.2012, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Код

select min(id), fio
from table 
group by fio 

И забудь про звёздочку. НАВСЕГДА.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Данкинг
Дата 6.2.2012, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Так действительно логично будет, но я не сказал, что в таблице полей ещё туева хуча, и они все нужны. Их там примерно 80. Неужели все перечислять?

Добавлено через 10 минут и 19 секунд
Так если только извратиться:
Код

SELECT * from test WHERE id in (SELECT MIN(id) FROM test GROUP BY name) GROUP by name



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akina
Дата 6.2.2012, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Цитата(Данкинг @  6.2.2012,  22:45 Найти цитируемый пост)
я не сказал, что в таблице полей ещё туева хуча,

Очень зря. Потому что это совсем иная задача. Не надо упрощать, если не убеждён, что это не влияет на результат.

Цитата(Данкинг @  6.2.2012,  22:45 Найти цитируемый пост)
Неужели все перечислять?

Конечно. Это убережёт тебя как от ошибок на этапе проектирования и отладки, так и от перерасхода трафика на продакшене.
PS. И алиасы - тоже для каждого поля в любом месте запроса. Ибо у тебя используется более чем 1 таблица (и неважно, что это копии).





--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Данкинг
Дата 6.2.2012, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Ну, вроде на тестовой базе таким образом работает. Будем считать решённым.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.1176 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.