как слить одинаковые записи в таблице в одну?

дедушка АУ

Новичок
как слить одинаковые записи в таблице в одну?

Всем привет :)

таблица
product_id | product_price | storage_id
16 | 1823 | 5
16 | 1823 | 7
16 | 1823 | 16

здесь три записи идентичные во всем кроме storage_id как мне эти три записи свернуть в одну наплевав на storage_id?
помню есть какая-то функция, только вот найти никак не могу :(

заранее спасибо :)
 

virakochi

Устал
Что значит свернуть? Свернуть физически в БД или вывести запросом?
 

дедушка АУ

Новичок
virakochi, вывести запросом.. либо получив массив со всеми данными свернуть эти строчки уже в массиве
 

_RVK_

Новичок
дедушка АУ
Во-первых, все было бы интересно знать, не только, что ты хочешь сделать, но и для чего.
Во-вторых, не понятно что значит "свернуть". Такого термина нет в реляционной теории. Что, в итоге, ты хочешь получить?

Возможно тебе подойдет GROUP BY, возможно DESTINCT, а возможно тебе оно вообще не нужно.

-~{}~ 27.06.05 19:49:

bgm
Кажется что здесь действительно ясно, так это то что поле storage_id внешний ключ к таблице storage.

-~{}~ 27.06.05 19:58:

bgm
Второй твой пост - довольно осроумое решение, но подумай сколько времени потрати сервер на перестройку таблицы. сколько времени потратится на создание а потом удаление индекса. опять же не ясно как часто данную операцию будет применять автор топика. может он будет это делать раз в секунду.... кажется любой сервер умрет.... опять же автор сказал что ему нужно это делать при выборке (что именно не понятно, но явно при выборке :)).
 

bgm

 
Автор оригинала: _RVK_
опять же автор сказал что ему нужно это делать при выборке (что именно не понятно, но явно при выборке :)).
:) А что мешает сделать это при выборке? :))
 

дедушка АУ

Новичок
"свернуть" - объединить записи идентичные по полям product_id и product_price в одну
т.е., имея таблицу
product_id | product_price | storage_id
16 | 1823 | 5
16 | 1823 | 7
16 | 1823 | 16

я хочу получить одну запись
16 | 1823

все.
 

дедушка АУ

Новичок
Groove, супер ! то что надо! спасибо огромное!

-~{}~ 28.06.05 15:35:

а если у меня допустим так:

product_id | product_price | storage_id
16 | 1835 | 5
16 | 1803 | 7
16 | 1890 | 16

и надо вывести одну запись со средней ценой?
SELECT product_id, AVG(product_price) from tablename
GROUP BY product_id ?

-~{}~ 28.06.05 16:02:

все разобрался :)
всем спасибо :)
 
Сверху