Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako bi izgledao select za top listu?

[es] :: Baze podataka :: Kako bi izgledao select za top listu?

[ Pregleda: 2158 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

marko v
programer
Šibenik

Član broj: 46810
Poruke: 109
161.53.144.*

Sajt: www.bono-husky.tk


Profil

icon Kako bi izgledao select za top listu?02.06.2007. u 09:41 - pre 205 meseci
Recimo da imamo 3 tabele Naslov (id_naslova,naziv,.....), Posudba (Id_posudbe,datum,....) i StavkePosudbe(id_posudbe,
redni_broj_stavke, id_naslova,...) kako napraviti upit kojim bi dobili top listu naslova, koliko je puta svaki naslov posudjen u odredjenom periodu. Nisam neki sql majstor pa bih molio barem da me netko usmjeri u kom pravcu da razmisljam.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako bi izgledao select za top listu?02.06.2007. u 09:50 - pre 205 meseci
Evo ti link na puno komplikovaniji slucaj, ako se ne snadjes javi ...

http://www.elitesecurity.org/t245433
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.kalik.info.



Profil

icon Re: Kako bi izgledao select za top listu?02.06.2007. u 11:19 - pre 205 meseci
Code:

create table naslov (
 id_naslov integer not null,
 naziv varchar(15),

constraint pk_naslov primary key (id_naslov)
);

create table iznajmljivanje (
 id_iznajmljivanje integer not null,
 datum date,

constraint pk_iznaj primary key (id_iznajmljivanje)
);

create table stavke (
 id_iznajmljivanje integer not null,
 redni_broj integer not null,
 id_naslov integer not null, 

constraint pk_stavke primary key (id_iznajmljivanje, redni_broj, id_naslov),
constraint fk_stavke foreign key (id_iznajmljivanje)
 references  iznajmljivanje (id_iznajmljivanje)
 on delete restrict on update cascade
);

insert into naslov values (1, 'Kuca');
insert into naslov values (2, 'Kola');
insert into naslov values (3, 'Kisa');
insert into naslov values (4, 'Prodavnica');
insert into naslov values (5, 'Mleko');
insert into naslov values (6, 'Makarone');

insert into iznajmljivanje values (1, '2007-02-10');
insert into iznajmljivanje values (2, '2007-03-22');
insert into iznajmljivanje values (3, '2007-04-01');
insert into iznajmljivanje values (4, '2007-03-10');
insert into iznajmljivanje values (5, '2007-04-22');
insert into iznajmljivanje values (6, '2007-05-01');

insert into stavke values (1, 1, 1);
insert into stavke values (1, 2, 3);
insert into stavke values (2, 1, 2);
insert into stavke values (2, 2, 1);
insert into stavke values (2, 3, 3);
insert into stavke values (3, 1, 2);
insert into stavke values (3, 2, 1);
insert into stavke values (3, 3, 3);
insert into stavke values (4, 1, 5);
insert into stavke values (4, 2, 6);
insert into stavke values (5, 1, 4);
insert into stavke values (5, 2, 6);
insert into stavke values (5, 3, 5);
insert into stavke values (6, 1, 4);
insert into stavke values (6, 2, 5);

SQL upit:
Code:

select n.naziv,count(s.id_naslov) as broj
from stavke s
 left join naslov n
  on s.id_naslov = n.id_naslov
group by n.naziv
order by broj desc

Testirano na PostgreSQL 8.2. Primer je urađen na brzinu, možda ima logičkih grešaka, ali suština je u funkciji "count" i "group by" klauzuli.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

marko v
programer
Šibenik

Član broj: 46810
Poruke: 109
*.adsl.net.t-com.hr.

Sajt: www.bono-husky.tk


Profil

icon Re: Kako bi izgledao select za top listu?02.06.2007. u 11:52 - pre 205 meseci
Obojici zahvaljujem na pomoci. COUNT i GROUP BY odradjuju posao savrseno
 
Odgovor na temu

[es] :: Baze podataka :: Kako bi izgledao select za top listu?

[ Pregleda: 2158 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.