Generovanie riadkov v pgsql
Pavel Stehule
stehule na kix.fsv.cvut.cz
Pondělí Červen 7 11:24:20 CEST 2004
Dobry den,
muzete pouzit sequence, viz http://postgresql.ok.cz/
Pavel
Příkaz SELECT neumožňuje jednoduše číslovat řádky výstupu (existují různá
nečistá řešení - níže, např. cross join tabulky na sebe s počítáním
záznamů). V PostgreSQL existuje ale jednoduché a rychlé řešení - použitím
dočasné sekvence:
CREATE TEMP SEQUENCE aaa;
SELECT nextval('aaa') AS "r.", * FROM lidi;
DROP SEQUENCE aaa;
testdb011=# SELECT nextval('aaa') AS "r.", * FROM lidi;
r. | jmeno | prijmeni
----+---------+-----------
1 | Lubomír | Chroměčka
2 | Jan | Baloun
(2 řádek)
"Nečistým" řešením může být např. následující dotaz:
SELECT COUNT(*), v.jmeno, v.prijmeni
FROM lidi CROSS JOIN lidi a
WHERE v.oid >= a.oid GROUP BY v.jmeno, v.prijmeni ORDER BY count;
On Mon, 7 Jun 2004, Milan KUNDRAT wrote:
>
> Dobry den
>
>
> Pouzival pgsql. Potreboval by som generovat riadky s cislami a neviem si s tym
> rady. Ked by som ako vstup zadal cislo n, tak by som potreboval vygenerovat
> riadky s cislami od 1 do n.
>
> nieco taketo
>
> nemam_potuchy_aky_prikaz_alebo_funkcia (5)
> -----------------------------------------------------------------
> 1
> 2
> 3
> 4
> 5
>
> Neviete mi prosim poradit?
>
>
Další informace o konferenci Databases