Portál AbcLinuxu, 20. července 2025 12:22
92131 | 10 | 3478 92334 | 8 | 4195nebo jen
92131 | 20 | 4193Nevím, jestli by to šlo udělat jedním dotazem, každopádně si na to můžete napsat uloženou proceduru. Ale dotazy, které nad stejnými daty pro stejné parametry dotazu vrací pokaždé jiné výsledky jsou dost podivné.
SELECT DISTINCT ON (location) location, time, report FROM weather_reports ORDER BY location, time DESC;retrieves the most recent weather report for each location. But if we had not used ORDER BY to force descending order of time values for each location, we'd have gotten a report from an unpredictable time for each location.
SELECT dta.id_vyrobku, dta.sleva, dta.skupina FROM (SELECT v.id_vyrobku, v.sleva, v.skupina, ROW_NUMBER() OVER (PARTITION BY v.id_vyrobku ORDER BY v.sleva ASC NULLS LAST) AS rn FROM vyrobek v) dta WHERE dta.rn = 1 /Zkus to. PostgreSQL nemám nainstalovaný, takže nemůžu vyzkoušet. Dotaz vybere pro každý
ID_VYROBKU
první řádek, který má v sloupci SLEVA
nejnižší hodnotu. Pakliže je v sadě dat vícero záznamů mající stejnou (a nejmenší) hodnotu ve sloupci SLEVA
, dotaz vybere právě jeden náhodný.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.