| От | Frank Bax |
|---|---|
| Тема | Re: query: last N price for each product? |
| Дата | |
| Msg-id | 486E1DDE.6070801@sympatico.ca обсуждение |
| Ответ на | query: last N price for each product? ("David Garamond" <davidgaramond@gmail.com>) |
| Список | pgsql-sql |
David Garamond wrote: > Dear SQL masters, > > The query for "latest price for each product" goes like this (which I > can grasp quite easily): > > SELECT * FROM price p1 > WHERE ctime=(SELECT MAX(ctime) FROM price p2 WHERE p1.product_id=p2.product_id) > > or: > > SELECT * FROM price p1 > WHERE NOT EXISTS (SELECT * FROM price p2 WHERE > p1.product_id=p2.product_id AND p1.ctime < p2.ctime) > > but how do yo query for "latest 3 prices for each product"? The > "price" table contains current price as well as price histories. Is this what you are looking for... SELECT * FROM price p1 WHERE ctime in (SELECT ctime FROM price p2 WHERE p1.product_id=p2.product_id ORDER BY ctime DESC LIMIT 3)
В списке pgsql-sql по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера