Autor | Zpráva | ||
---|---|---|---|
Ages Profil |
#1 · Zasláno: 20. 8. 2018, 11:28:40
Zdravím,
Potřeboval bych poradit s výběrem dar z MySQL databáze mám tabulku: CREATE TABLE `price_info` ( `id` int(11) NOT NULL, `product_id` int(11) DEFAULT NULL, `date` date DEFAULT NULL, `price` float DEFAULT NULL, `shop` varchar(45) DEFAULT NULL ) ; A) Pro product_id ke každému date 5 řádků s nejnižšími cenami B) Pro všechny product_id to samé jako v příkladu A Umím vybrat nejnižší cenu ke každému datumu, ale bohužel nevím jak dotaz rozšířit na více řádků. Mohl by mi někdo, prosím, poradit jak na to? |
||
Kajman Profil |
#2 · Zasláno: 20. 8. 2018, 12:15:35
Pro mysql od verze 8 (nebo mariadb od verze 10.2) stačí omezit výsledek
A) ROW_NUMBER() OVER (PARTITION BY `product_id`, `date` ORDER BY `price`)
B) ROW_NUMBER() OVER (PARTITION BY `product_id` ORDER BY `price`)
Pro starší verze mysql lze vypočítat hranici (zde musíte pro price i id) a tou to omezit, viz Některé časteji řešené dotazy pro MySQL - FAQ » Nalezení posledních pěti článků z každé kategorie |
||
Ages Profil |
#3 · Zasláno: 21. 8. 2018, 09:45:38
Kajman
Děkuji za rychlou odpověď - podařilo se mi to s tím vyřešit. |
||
Časová prodleva: 6 let
|
0