Programerske pitalice

3

Programerske pitalice

offline
  • Pridružio: 04 Jul 2011
  • Poruke: 5424

Napisati SQL upit (bilo koji), koji generiše aritmetičku progresiju.

Primer:
1,4,7,10...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Đuuu Smile Nikad mi tako nešto nije trebalo. Ne razumem samo koliko zapisa treba da vrati taj upit?



offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

ivance95 ::Izvini, zaboravio sam na ovo. Embarassed

Ovo je za MySQL, ne znam da li još neki distro-i imaju podršku za ovo:

SELECT * FROM tabela ORDER BY name LIMIT 10, 20
Ovo pišem napamet, pošto nisam kod kuće, ali bi trebalo da je to to.
PostgreSQL bi trebalo da radi sa:
LIMIT 20 OFFSET 10


Jos kad bi ovo bilo tacno Mr. Green Jer ce vratiti drugih dvadeset a ne deset Wink

Citat:Showing rows 0 - 19 ( 20 total, Query took 0.0009 sec)

odnosno - OFFSET je tacan, LIMIT ne valja:

SELECT * FROM tabela ORDER BY name LIMIT 10 OFFSET 10

Koliko sam ja upucen, svaki flavour SQL-a radi sa ovim.

Inace, da odgovorim na pitanje:

ivance95 ::Napisati SQL upit (bilo koji), koji generiše aritmetičku progresiju.

SELECT @broj:=@broj+@korak AS rezultat FROM tabela AS t INNER JOIN (SELECT @start:=1,@korak:=3,@broj:=@start-@korak) AS tmp LIMIT 10

Ha!

offline
  • Pridružio: 04 Jul 2011
  • Poruke: 5424

Srki_82 ::Đuuu Smile Nikad mi tako nešto nije trebalo. Ne razumem samo koliko zapisa treba da vrati taj upit?
Nije ni meni. Mr. Green
Nego mi je to palo na pamet, pošto nisam mogao da smislim ništa pametnije. Mr. Green

@Rasta
Ziveli

offline
  • Més que un club
  • Glavni vokal @ Harpun
  • Pridružio: 27 Feb 2009
  • Poruke: 3898
  • Gde živiš: Novi Sad,Klisa

Kad ti srki kaze Đuu, onda znaš kakvo si pitanje postavio Mr. Green

offline
  • Pridružio: 04 Jul 2011
  • Poruke: 5424

Od koga je super je, sledeći put postavljajte vi. Mr. Green

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Posto racunam da je odgovor

SELECT @broj:=@broj+@korak AS rezultat FROM tabela AS t INNER JOIN (SELECT @start:=1,@korak:=3,@broj:=@start-@korak) AS tmp LIMIT 10

tacan, postavljam sledece pitanje:

Postoje 2 tabele, Album i Images sa one-to-many relacijom. U jednom upitu izvuci imena svih albuma i broj slika u svakom, bez koriscenja subquery-ja.

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Napisano: 20 Sep 2013 10:35

Htedoh samo da bacim i rešenje za MS SQL za prethodni zadatak:
select top 100 1 + (row_number() over(order by t1.number) - 1) * 3 as N from master..spt_values t1 cross join master..spt_values t2

Dopuna: 23 Sep 2013 11:33

Mislim da bi ovo moglo biti rešenje za ostavljeno pitanje:
select a.name, count(i.id) from album as a left join images as i on a.id = i.album_id group by a.name

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Zamalo Srki, zamalo... ali nije Mr. Green Prevideo si jednu sasvim realnu mogucnost, zbog koje ce ovaj upit vratiti pogresan broj slika u tom slucaju.

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Ništa... čekamo onda nekog drugog Smile Bar sam probao Very Happy

Ko je trenutno na forumu
 

Ukupno su 1029 korisnika na forumu :: 12 registrovanih, 1 sakriven i 1016 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: DPera, HrcAk47, indja, jackreacher011011, kbobo, Kubovac, naki011, ostoja, S2M, sokars, Wolfaim, yrraf