Ovaj članak objašnjava kako da koristite upite najvišeg vrednosti i upite za ukupne vrednosti da biste pronašli najnovije ili najstarije datume u skupu zapisa. To vam može pomoći da odgovorite na razna poslovna pitanja, na primer kada je korisnik poslednji put postavio porudžbinu, ili koje je pet četvrtala bilo najbolje za prodaju po gradu.
U ovom članku:
Pregled
Možete da rangirite podatke i redigujete najviše rangirane stavke pomoću upita za najviše vrednosti. Upit najvišeg vrednosti je upit za izdvajanje koji vraća navedeni broj ili procenat vrednosti sa vrha na vrhu rezultata, na primer pet najpopularnijih stranica na Veb lokaciji. Možete da koristite upit za najviše vrednosti naspram bilo koje vrste vrednosti – ne moraju da budu brojevi.
Ako želite da grupišete ili rezimirate podatke pre nego što ga rangirite, ne morate da koristite upit za najviše vrednosti. Na primer, pretpostavimo da treba da pronađete brojeve prodaje za određen datum za svaki grad u kojem preduzeće radi. U tom slučaju, gradovi postaju kategorije (Morate da pronađete podatke po gradu), tako da koristite upit za ukupne vrednosti.
Kada koristite upit za najviše vrednosti da biste pronašli zapise koji sadrže najnovije ili najstarije datume u tabeli ili grupi zapisa, možete da odgovorite na razna poslovna pitanja, na primer:
-
Ko je bio najveći prodavac u poslednje vreme?
-
Kada je korisnik poslednji put naručio porudžbinu?
-
Kada su sledeća tri rođendana u timu?
Da biste napravili upit za najviše vrednosti, počnite tako što ćete kreirati upit za izdvajanje. Zatim sortiranje podataka u skladu sa pitanjem – da li tražite vrh ili dno. Ako treba da grupišete ili rezimirate podatke, pretvorite upit za izdvajanje u upit za ukupne vrednosti. Možete da koristite agregatnu funkciju, kao što je Max ili min da biste vratili najveću ili najnižu vrednost, ili prvo ili poslednje da biste vratili najraniji ili najnoviji datum.
Ovaj članak pretpostavlja da vrednosti datuma koje koristite imaju tip podataka "Datum/vreme". Ako su vrednosti datuma u tekstualnom polju,.
Razmotrite korišćenje filtera umesto upita za najviše vrednosti
Filter je obično bolji ako imate određen datum na umu. Da biste utvrdili da li treba da kreirate upit za najviše vrednosti ili da primenjujete filter, razmotrite sledeće:
-
Ako želite da vratite sve zapise u kojima se datum podudara, ili kasniji od određenog datuma, koristite filter. Na primer, da biste videli datume prodaje između aprila i jula, primenjujete filter.
-
Ako želite da vratite određenu količinu zapisa koji imaju najnovije ili najnovije datume u polju i ne znate tačne vrednosti datuma ili one nisu bitne, kreirajte upit za najviše vrednosti. Na primer, da biste videli pet najboljih četvrt prodaje, koristite upit za najviše vrednosti.
Više informacija o kreiranju i korišćenju filtera potražite u članku Primena filtera za prikaz izbora zapisa u Access bazi podataka.
Pripremite probne podatke za praćenje zajedno sa primerima
Koraci u ovom članku koriste podatke iz sledećih uzoraka tabela.
Tabela "Zaposleni"
Prezime |
Ime |
Adresa |
Grad |
Tzemin egion |
Datum rođenja |
Datum zapošljavanja |
Blagojević |
Jordan |
Glavna 1 |
Novi Sad |
USA |
05-Feb-1968 |
10-jun-1994 |
Helić |
Vlajko |
Prva ulica 1052 |
Subotica |
USA |
22-maj-1957 |
22-nov-1996 |
Tica |
Vida |
3122 75. S.W. |
Sombor |
USA |
11-nov-1960 |
11-Mar-2000 |
Lukom |
Žan Filip |
Bulevar oslobođenja 1 |
Kragujevac |
UK |
22-Mar-1964 |
22-jun-1998 |
Cenić |
Lian |
Saša Simić 2 |
Meksiko Siti |
Meksiko |
05-jun-1972 |
05-Jan-2002 |
Ardu |
Stinom |
3122 75. |
Sijetl |
USA |
23-Jan-1970 |
23-APR-1999 |
Ri |
Ste |
Velika 67 |
Valjevo |
USA |
14-APR-1964 |
14-OCT-2004 |
Brković |
Danom |
2 njuљkalo |
Smederevo |
USA |
29-OCT-1959 |
29-Mar-1997 |
Tabela "Eventtyp"
TypeID |
Tip događaja |
1 |
Pokretanje proizvoda |
2 |
Funkcija Corporate |
3 |
Funkcija Private |
4 |
Prikupljanje fondova |
5 |
Trgovinski šou |
6 |
Ava |
7 |
Iteljka |
8 |
Ponaš |
9 |
Uliиni sajam |
Tabela „Kupci“
ID klijenta |
Preduzeće |
Kontakt |
1 |
Contoso d.o.o. Иke |
Jonathan Haas |
2 |
Igračke VrtiRep |
Elen Adams |
3 |
Fabrikam |
Carol Philips |
4 |
Igraиke za "vrhovi" |
Lucio lašio |
5 |
A. Korporacija |
Mandar Samant |
6 |
Avantura funkcioniše |
Brajan Burke |
7 |
Design Institut |
Jaka funkcija |
8 |
Škola likovne umetnosti |
Milena Dušanova |
Tabela "Događaji"
IDDogađaja |
Tip događaja |
Kupac |
Datum događaja |
Cenić |
1 |
Pokretanje proizvoda |
Contoso d.o.o. |
4/14/2011 |
10.000 din. |
2 |
Funkcija Corporate |
Igračke VrtiRep |
4/21/2011 |
8.000 din. |
3 |
Trgovinski šou |
Igračke VrtiRep |
01.05.11. |
$25.000 |
4 |
Ponaš |
Institut za grafički dizajn |
5/13/2011 |
$4,500 |
5 |
Trgovinski šou |
Contoso d.o.o. |
5/14/2011 |
$55.000 |
6 |
Iteljka |
Škola likovne umetnosti |
5/23/2011 |
12.000 RSD |
7 |
Pokretanje proizvoda |
A. Korporacija |
6/1/2011 |
15.000 din. |
8 |
Pokretanje proizvoda |
Igraиke za "vrhovi" |
6/18/2011 |
21.000 RSD |
9 |
Prikupljanje fondova |
Avantura funkcioniše |
6/22/2011 |
$1.300 |
10 |
Ava |
Institut za grafički dizajn |
6/25/2011 |
$2.450 |
11 |
Ava |
Contoso d.o.o. |
04.07.11. |
$3.800 |
12 |
Uliиni sajam |
Institut za grafički dizajn |
04.07.11. |
5.500 RSD |
Napomena: Koraci u ovom odeljku pretpostavljaju da se tabele "Kupci" i "Tip događaja" nalaze na strani "jedan" relacija "jedan-prema-više" sa tabelom "Događaji". U ovom slučaju, tabela "Događaji" deli polja CustomerID i TypeID. Upiti za ukupne vrednosti opisane u sledećim odeljcima neće funkcionisati bez tih relacija.
Lepljenje uzoraka podataka u Excel radnim listovima
-
Pokrenite Excel. Otvara se prazna radna sveska.
-
Pritisnite kombinaciju tastera SHIFT + F11 da biste umetnuli radni list (trebaće vam četiri).
-
Kopirajte podatke iz svake probne tabele u prazan radni list. Dodavanje naslova kolona (prvog reda).
Kreiranje tabela baze podataka od radnih listova
-
Izaberite podatke iz prvog radnog lista, uključujući naslove kolona.
-
Kliknite desnim tasterom miša na okno za navigaciju, a zatim izaberite stavku Nalepi.
-
Kliknite na dugme da da biste potvrdili da prvi red sadrži naslove kolona.
-
Ponovite korake 1-3 za svaki od preostalih radnih listova.
Pronalaženje poslednjeg ili najmanje nedavnih datuma
Koraci u ovom odeljku koriste probne podatke da bi ilustrovali proces kreiranja upita za najviše vrednosti.
Pravljenje upita osnovnih vrednosti
-
Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.
-
Kliknite dvaput na tabelu zaposleni, a zatim kliknite na dugme Zatvori.
Ako koristite probne podatke, dodajte tabelu zaposleni u upit.
-
Dodajte polja koja želite da koristite u upitu u koordinatnu mrežu za dizajn. Možete da kliknete dvaput na svako polje ili da prevučete i otpustite svako polje u praznu ćeliju u nizu polja .
Ako koristite probnu tabelu, dodajte polja "ime", "prezime" i "Datum rođenja".
-
U polju koje sadrže najviše ili najniže vrednosti (polje Datum rođenja ako koristite uzorak tabele), kliknite na dugme Sortiranje i izaberite stavku Rastući ili Opadajući.
Redosled sortiranja opadajućeg datuma vraća poslednji datum, a rastući redosled sortiranja vraća najraniji.
Važno: Vrednost u nizu Sortiranje morate da postavljate samo za polja koja sadrže datume. Ako navedete redosled sortiranja za drugo polje, upit ne vraća željene rezultate.
-
Na kartici Dizajn , u grupi Alatke kliknite na strelicu nadole pored stavke sve (lista " vrednosti ") i unesite broj zapisa koje želite da vidite ili izaberite opciju sa liste.
-
Izaberite stavku pokrene da biste pokrenuli upit i prikazali rezultate u prikazu lista sa podacima.
-
Sačuvajte upit kao sledeće.
Možete da vidite da ovaj tip upita najvišeg vrednosti može da odgovori na osnovna pitanja, na primer ko je najstarija ili najmlaрa osoba u preduzeću. Sledeći koraci objašnjavaju kako se koriste izrazi i drugi kriterijumi za dodavanje energije i fleksibilnosti upitu. Kriterijumi prikazani u sledećem redu vraćaju sledeća tri rođendana zaposlenog.
Dodavanje kriterijuma u upit
Ovi koraci koriste upit kreiran u prethodnoj proceduri. Možete da Pratit sa drugačijim upitom najvišeg vrednosti sve dok sadrži stvarne podatke za datum/vreme, a ne tekstualne vrednosti.
Savet: Ako želite da bolje shvatite kako ovaj upit funkcioniše, prebacivanje između prikaza dizajna i prikaza lista sa podacima u svakom redu. Ako želite da vidite stvarni kôd upita, prebacite se na SQL prikaz. Da biste se prebacili između prikaza, kliknite desnim tasterom miša na karticu na vrhu upita, a zatim izaberite željeni prikaz.
-
U oknu za navigaciju kliknite desnim tasterom miša na upit Nextrođen, a zatim izaberite stavku Prikaz dizajna.
-
U koordinatnoj mreži za dizajn upita, u koloni sa desne strane rođenja rođenja unesite sledeće:
monthborn: DatePart ("m", [Datum rođenja]).
Ovaj izraz izdvaja mesec od datuma rođenja pomoću funkcije DatePart . -
U sledećoj koloni koordinatne mreže za dizajn upita unesite sledeće:
dayofmonthborn: DatePart ("d", [DatumRođenja])
ovaj izraz izdvaja dan u mesecu iz datuma rođenja pomoću funkcije DatePart . -
Opozovite izbor u poljima za potvrdu u redu Prikaži za svaki od dva izraza koja ste upravo uneli.
-
Kliknite na redove sortiranja za svaki izraz, a zatim izaberite rastući redosled.
-
U redu " kriterijumi " u koloni " Datum rođenja " otkucajte sledeći izraz:
Month ([Datum rođenja]) > mesec (datum ()) ili mesečni ([Datum rođenja] = month (datum ()) i Day ([DatumRođenja]) >dana (date))
ovaj izraz čini sledeće:-
Month ( [Datum rođenja]) > mesecu (datum ()) navodi da datum rođenja svakog zaposlenog opada u budućem mesecu.
-
Mesec ( [Datum rođenja]) = month (datum ()) i Day ([Datum rođenja]) >dan (datum ()) navodi da, ako se datum rođenja pojavi u trenutnom mesecu, rođendan pada na ili posle trenutnog dana.
Ukratko, ovaj izraz isključuje sve zapise u kojima je rođendan dolazi između 1.
Savet: Više primera izraza criteria kriterijuma potražite u članku Primeri kriterijuma upita.
-
-
Na kartici Dizajn , u grupi Podešavanje upita , u polju Vrati otkucajte 3 .
-
Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni .
Napomena: U sopstvenom upitu možete da vidite više zapisa nego što ste naveli. Ako podaci sadrže više zapisa koji dele vrednost koja se nalazi između najvećih vrednosti, upit će vratiti sve takve zapise čak i ako to znači da vraća više zapisa nego što ste želeli.
Pronalaženje najnovijih datuma za grupe zapisa
Koristite upit za ukupne vrednosti da biste pronašli najraniji ili najnoviji datumi za zapise koji se nalaze u grupama, kao što su događaji grupisani po gradu. Upit za ukupne vrednosti je upit za izdvajanje koji koristi agregatne funkcije (kao što su Group by, Min, Max, Count, Firsti poslednji) da biste izračunali vrednosti za svako polje izlaznog polja.
Dodajte polje koje želite da koristite za kategorije – za grupisanje – i polje sa vrednostima koje želite da rezimirate. Ako dodate druga izlazna polja – izgovorite, imena klijenata kada se grupišete po tipu događaja – upit će takođe koristiti ta polja da bi napravio grupe, promenom rezultata tako da ne odgovore na vaše originalno pitanje. Da biste označili redove pomoću drugih polja, kreirajte dodatni upit koji koristi upit za ukupne vrednosti kao izvor i dodajte dodatna polja u taj upit.
Savet: Upiti za pravljenje u koracima su delotvorna strategija za odgovaranje na napredna pitanja. Ako imate problema sa podešavanjem komplikovanog upita, razmotrite da li možete da ga prelomite u nizu jednostavnih upita.
Kreiranje upita zbirova
Ova procedura koristi probnu tabelu "događaji " i probnu tabelu "EventType " da bi odgovorio na ovo pitanje:
Kada je bio najnoviji događaj svake vrste događaja, osim koncerata?
-
Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.
-
Kliknite dvaput na tabele događaji i EventType.
Svaka tabela se pojavljuje u gornjem delu dizajnera upita. -
Kliknite dvaput na polje "EventType" u tabeli Eventtpe i u polju Datum dešavanja iz tabele "Događaji" da biste dodali polja u koordinatnu mrežu za dizajn upita.
-
U koordinatnoj mreži za dizajn upita, u poljukriterijumi kriterijuma unesite <>koncert.
Savet: Više primera izraza kriterijuma potražite u članku Primeri kriterijuma upita.
-
Na kartici Dizajn, u grupi Prikaži/sakrij kliknite na dugme Zbirovi.
-
U koordinatnoj mreži za dizajn upita izaberite stavku Ukupno polja Datum i zatim kliknite na dugme Max.
-
Na kartici Dizajn, u grupi Rezultati, kliknite na dugme Prikaz, a zatim izaberite stavku SQL prikaz.
-
U SQL prozoru, na kraju klauzule SELECT, neposredno posle ključne reči, zamenite karticu "maksimda "
-
Sačuvajte upit kao Mostrecenteventbytip.
Kreiranje drugog upita za dodavanje još podataka
Ova procedura koristi upit Mostrecentebbytype iz prethodne procedure da bi se odgovarala ova pitanja:
Ko je bio klijent u najnovijem događaju svakog tipa događaja?
-
Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.
-
Na kartici upiti kliknite dvaput na upit MostRecentEventByType.
-
Na kartici tabele kliknite dvaput na tabelu događaji i tabelu klijenti.
-
U dizajneru upita kliknite dvaput na sledeća polja:
-
U tabeli događaji kliknite dvaput na stavku "EventType".
-
U upitu Mostrecentebbytype, kliknite dvaput na stavku funkcija.
-
U tabeli kupci kliknite dvaput na stavku preduzeće.
-
-
U koordinatnoj mreži za dizajn upita, u red sortiranja u koloni " Eventtype " izaberite stavku Rastući.
-
Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.