Upit koji će ispisivati sve, osim posljednjeg?

poruka: 40
|
čitano: 7.547
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Upit koji ce ispisivati sve, sem poslednjeg?
pitanje

Eto, stao mi mozak i ne mogu se s kontat.

Kako da ispisem sve upise, sem poslednjeg?

Koji WHERE uslov da zadam?

 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Upit koji ce ispisivati sve, sem poslednjeg?
zavisi ...ako ces uvek isti niz imat onda mozes LIMIT korisiti...mada bi izbegao limit ...
K'eni pa te vat' ;)
16 godina
neaktivan
offline
RE: Upit koji ce ispisivati sve, sem poslednjeg?
autorov komentar

BugSU, daj primer ako ti nije tesko kako bi ti to izveo.

A zasto ne LIMIT?

17 godina
neaktivan
offline
Upit koji ce ispisivati sve, sem poslednjeg?

Evo jedan iz glave:

select [neka_kolona] from [neka_tablica]   

        group by [gornja_kolona]
              having id != count(id)

 

ovo vrijedi samo ako imaš id kolonu koja je auto increment.

Gentoo user. :')
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Upit koji ce ispisivati sve, sem poslednjeg?
autorov komentar

mislim da to moze u slucaju da se nista ne brise!

Ali ako izbrisem neki red, odnosno neki ID, onda poslednji ID i COUNT[id] nece se slagati, bar mi se tako cini!

 
0 0 hvala 0
17 godina
offline
Upit koji ce ispisivati sve, sem poslednjeg?

Pa ako koristiš SQL server onda bi ti možda ovo moglo pomoći, nisam siguran dal točno tak ide, jer pišem napamet. Pozdrav

 

SELECT TOP(count(id) - 1) FROM [neka_tablica] where [neki_uvijet]

"Genius might be the ability to say a profound thing in a simple way." Charles Bukowski
Poruka je uređivana zadnji put pet 13.2.2009 11:19 (dado2202).
 
0 0 hvala 0
17 godina
offline
Upit koji ce ispisivati sve, sem poslednjeg?

tako je dado... ili za mySQL

 

SELECT * FROM [tabela] where [uvjeti] limit count(id)-1

 

EDIT: naredba limit za mySQL je ekvivalent MSSQLovom TOP

I'm going woo woo
Poruka je uređivana zadnji put pet 13.2.2009 10:52 (tnakir).
 
0 0 hvala 1
17 godina
neaktivan
offline
Upit koji ce ispisivati sve, sem poslednjeg?

Moj upit što sam ja napisao ti briše samo prvi red ne zadnji.  Isprike, pisao sam napamet.

Gentoo user. :')
Moj PC  
0 0 hvala 0
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

@Tux slave... ovaj tvoj primjer radi ako su IDevi jedan za drugim... znaci 1, 2, 3, 4... n...

 

Nece sljakat ako su neki recordi brisani pa imas preskakanje ID-a... npr 1,2,4,5... n...

I'm going woo woo
 
0 0 hvala 0
17 godina
neaktivan
offline
Upit koji će ispisivati sve, osim posljednjeg?

select top (SELECT MAX(ID)-1  FROM TABLE) *

from table

 

probaj ovako.

 

SELECT MAX ti uzima najveći broj u tabeli tj. tebi posljednji

i-VTEC
Poruka je uređivana zadnji put ned 15.2.2009 18:22 (Kiki).
 
0 0 hvala 0
16 godina
neaktivan
offline
Upit koji će ispisivati sve, osim posljednjeg?
autorov komentar

 

Ove ponudjene odgovore nisam uspeo da pokrenem, stalno mi javlja gresku!

Ne znam u cemu je problem?

 

Ovako sam resio, sad ne znam koliko je po PS:

 

$up=mysql_query("SELECT * FROM magacin WHERE id<(SELECT MAX(id) FROM magacin)");

Poruka je uređivana zadnji put ned 15.2.2009 20:06 (acke_volce).
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?

je, to ti je točno.

 

SELECT MAX (id) ti daje zadnji broj.

a id<znači strogo manji.

s obzirom da ti treba sve osim zadnjeg, u ovom slućaje će raditi ok.

 

Puno sreće u daljnjem radu

i-VTEC
17 godina
protjeran
offline
Upit koji će ispisivati sve, osim posljednjeg?

ID ne ide nužno po redu i zato to rješenje nije dobro.

Moj PC  
0 0 hvala 0
16 godina
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
acke_volce kaže...

 

Ove ponudjene odgovore nisam uspeo da pokrenem, stalno mi javlja gresku!

Ne znam u cemu je problem?

 

Ovako sam resio, sad ne znam koliko je po PS:

 

$up=mysql_query("SELECT * FROM magacin WHERE id<(SELECT MAX(id) FROM magacin)");

 Mislim da je ovo ok rješenje jer ako trebas skriti zadnji zapis, a on je MAX(id)- pretpostavljam da je polje id autoincrement, "<" -znak osigurava da se on nece prikazat, a to sto ti brises neke zapise iz baze nema veze jer se id nemoze ponovit "autoincrement" se za to brine.

Poz
A.D.
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Da, ovo ti je ok... samo jos moras napraviti order by i to je to...

I'm going woo woo
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Tracer kaže...

ID ne ide nužno po redu i zato to rješenje nije dobro.

 Dali mi možeš, molim te, pojasniti malo tvoju tvrdnju? Pogotovo ono žuto.
Nisam siguran da baš razumjem.

Hvala
i-VTEC
17 godina
neaktivan
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Kiki kaže...
Tracer kaže...

ID ne ide nužno po redu i zato to rješenje nije dobro.

 Dali mi možeš, molim te, pojasniti malo tvoju tvrdnju? Pogotovo ono žuto.
Nisam siguran da baš razumjem.

Hvala
 Vjerojatno misli na to da ID može ići svaki drugi ili treći ili neki stoti odnosno:
2,4,6,8... ili 3,6,9,12...
Gentoo user. :')
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Kiki kaže...
Tracer kaže...

ID ne ide nužno po redu i zato to rješenje nije dobro.

 Dali mi možeš, molim te, pojasniti malo tvoju tvrdnju? Pogotovo ono žuto.
Nisam siguran da baš razumjem.

Hvala
 U praksi ID ne ide nužno po redu. Primjerice, imam u firmi 3 svoje access baze s preko 10 000 zapisa i u svakoj od njih prvih par stotina zapisa ID ide po redu dok u jednom trenutku ID krene od 65536 prema nazad. Sada je negdje i prema sredini, i da budem iskren nemam pojma odakle bi sad krenuo kad bi dodao novi zapis.

Zato bi možda najbolje bilo da se kreira kolona tipa timestamp (rowversion) ili datetime pa da se prema tome sortiraju zapisi i izuzme ovaj zadnji.
Poruka je uređivana zadnji put sub 21.2.2009 15:58 (Tracer).
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Zasto koristis ACCESS bazu za toliko podataka? Access je osnova osnove baze... izbjegavaj je u sirokom luku!

I'm going woo woo
 
0 0 hvala 0
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
tnakir kaže...

Zasto koristis ACCESS bazu za toliko podataka? Access je osnova osnove baze... izbjegavaj je u sirokom luku!


Neznam odakle ti takav stav, ali ne slažem se.

10 000 podataka je ništa za bilo kakvu bazu, a kamoli access. i šta fali access bazi? dopušta višeklijentski rad, osigurava konkurentnost među podacima, lako je prenosiva jer je to zapravo samo jedna datoteka za koju ne treba nikakva instalacija pa niti accessa, ima interno sustav za izvještaje, podršku za VBA aplikacije, spojivost ADO komponentama itd itd. Access je daleko od osnova osnove i u 90% slučajeva čak niti manjim tvrtkama ne treba ništa više od accessa. fino sve možeš čak i na sticku nositi nego da moram komplicirati s instalacijom servera čija mi sva funkcionalnost ionako ne treba.
Poruka je uređivana zadnji put ned 22.2.2009 21:37 (Tracer).
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Ima još i sqLite. Meni je bolji za ono što mi treba od Access-a, ali istina je da je Access jedina "prava" prenosiva baza podataka. Imam malo više opcija od SqLite-a, ali ovaj se razvija dosta brzo, bude dostigao Access.

"Genius might be the ability to say a profound thing in a simple way." Charles Bukowski
 
0 0 hvala 0
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Da ne kazem spora, da ne kazem limitirana, da ne kazem nesigurna i tako dalje...

I'm going woo woo
 
0 0 hvala 0
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
tnakir kaže...

Da ne kazem spora, da ne kazem limitirana, da ne kazem nesigurna i tako dalje...

Nekako se meni čini da ti baš i neznaš što je access baza..

Limitirana u čemu? Jesi ti uopće gore pročitao što sve ima access, a uopće nisam ni htio raspisivati taj popis? Što to toliko očajno fali accessu? A ovo za "nesigurna" je apsolutno netočno. Radim u accessu već dulji niz godina i nikada mi se nije dogodio nikakav problem s bazom. A i što se tiče brzine ne vidim u čemu je tu problem? Svi zahtjevi se izvršavaju u REALNOM VREMENU i sama baza interno osigurava konkurentnost među podacima. Općenito, access je SASVIM DOVOLJAN za gotovo sve zahtjeve niže i srednje složenosti i to je dokazano nizom testiranja u više-klijentskom okruženju od strane samog MS-a. Access baza smještena na server OS-u bez problema radi s 255 klijenata odjednom, dopušta 64 konekcije iz jednog procesa, može se linkati na druge baze itd itd..i naravno BESPLATNA JE.

Sad me podsjećaš na "stručnjake" iz jedne oglašavajuće tvrtke koji su radi imenika i adresara poslovnih partnera kupili SQL SERVER 2005 standard edition i platili masne novce samo kako bi se mogli pohvaliti da imaju super bazu, a treba im svega 3 tablice i par sql upita. Bravo bravo
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
dado2202 kaže...

Ima još i sqLite. Meni je bolji za ono što mi treba od Access-a, ali istina je da je Access jedina "prava" prenosiva baza podataka. Imam malo više opcija od SqLite-a, ali ovaj se razvija dosta brzo, bude dostigao Access.

Može se na nju spojiti preko ADO komponenti? Bez ODBC-a?
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Volio bi viditi access kako guta 1000 usera u sekundi, oko 100 000 upita u sekundi i slicno... Volio bih ga vidit kako se znoji i kako na kraju pada na koljena i kaze: "Ne mogu vise"... kao sto rekoh... Access baza nije losa baza, ali nije ni dostatna za iole ozbiljnije i teze aplikacije. Ako vec guras besplatno, onda preporucujem mySQL SQLite i slicno...

 

I jos nesto, baza se nalazi u fajlu (direktno, ne preko servisa)... sto je cini hackabilnijom od ostalih baza...

I'm going woo woo
Poruka je uređivana zadnji put pon 23.2.2009 12:07 (tnakir).
 
0 0 hvala 0
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
tnakir kaže...

Volio bi viditi access kako guta 1000 usera u sekundi, oko 100 000 upita u sekundi i slicno... Volio bih ga vidit kako se znoji i kako na kraju pada na koljena i kaze: "Ne mogu vise"... kao sto rekoh... Access baza nije losa baza, ali nije ni dostatna za iole ozbiljnije i teze aplikacije. Ako vec guras besplatno, onda preporucujem mySQL SQLite i slicno...

 

I jos nesto, baza se nalazi u fajlu (direktno, ne preko servisa)... sto je cini hackabilnijom od ostalih baza...

 Daj malo čitaj što piše. Ja govorim o zahtjevima niže i srednje složenosti a ti o 1000 usera u sekundi i 100 000 upita u sekundi. Koliko ti uopće sustava znaš da ima ovakve zahtjeve? Pa nema takvih tvrtki na milijune u svijetu. Današnje tvrtke u prosjeku ako imaju 50 usera u sekundi ili 50 zahtjeva u sekundi onda super, a rijetko koja da ima više od 20. Access je tu sasvim dovoljan. Naravno, tko hoće i može izdvojiti za bolje svakako preporučujem neko server rješenje, no i Access je sasvim dovoljan do 255 korisnika odjednom.

Čak u praksi se radi s konekcijama u vrijeme zahtjeva tj. da je klijent spojen na bazu samo u trenutku update-a (vrijeme u milisekundama). Tada realno može biti i preko nekoliko tisuća korisnika "odjednom" i na access bazi. A to da access nije loša baza dovoljno si rekao u svom prvom postu:

tnakir kaže...

Zasto koristis ACCESS bazu za toliko podataka? Access je osnova osnove baze... izbjegavaj je u sirokom luku!

 

I access baza ima sigurnosni sustav, pa i to da možeš odrediti korisnike koji mogu pristupati podacima. A servis je toliko prednost koliko i mana glede hackiranja, a ako treba lako se napravi neki DB klijent koji glumi servis za access bazu. To je u pravilu svaki mrežni DB klijent. Isto tako, i kod složenijih baza sve je zapravo u jednoj datoteci. Npr. SQL Server i MDF datoteka.

Poruka je uređivana zadnji put pon 23.2.2009 12:18 (Tracer).
17 godina
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Tracer kaže...
dado2202 kaže...

Ima još i sqLite. Meni je bolji za ono što mi treba od Access-a, ali istina je da je Access jedina "prava" prenosiva baza podataka. Imam malo više opcija od SqLite-a, ali ovaj se razvija dosta brzo, bude dostigao Access.

Može se na nju spojiti preko ADO komponenti? Bez ODBC-a?
Ima ADO konektor ali samo za .NET


ali piše i ovo na stranici, pa onda možda radi i sa ostalima, radio sam samo sa C#

Supports the Full and Compact .NET Framework as well as native C/C++
Whether you're programming in .NET or straight C/C++ on the desktop or a mobile device, we've got a build for you.

EDIT:
Koliko sam ja to vidio, to je bio Wrapper oko glavnog dll-a koji se koristi za pristup, a budući da sam ja svoj napisao za C# (prije nego sam saznao da ovaj uopće postoji), nisam se baš igrao previše
"Genius might be the ability to say a profound thing in a simple way." Charles Bukowski
Poruka je uređivana zadnji put pon 23.2.2009 12:42 (dado2202).
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Vidim da ne poznajes materiju dovoljno... iole ozbiljniji web sajtovi imaju poprilican broj upita gdje i mySQL ima problema sa lose izvedenim bazama podataka. Access baze su eto... da firma ima  nekakav adresar ili sta ja znam sta, u koliko je koristi u ozbiljnije svrhe bilo tko ko se malo ozbiljnije bavi programiranjem ce ti se nasmijati.

 

Druga stvar, za access bazu (pristup sa vise racunala i slicno) moras mapirati diskove i slicno (dakle sa vise razlicitih racunala pristupati istoj bazi).

 

Trece, MS SQL i .mdb... ja izbjegavam takav pristup... radije radim bazu direktno na serveru i pristupam njoj preko servisa.

 

Cetvrto, sigurnost baze podataka, ako joj mozes pristupit, znaci da je mozes (ugrubo govoreci) i kopirati. Cim je imas na vlastitom racunalu brakein je poprilicno olaksan...

 

Kao sto rekoh, slobodno si je ti koristi, ali ako se iole mislis ozbiljnije baviti sa tim, prebaci se na mysql ili nekakvu drugu verziju tipa SQLite i slicno... (preferiram mySQL radi control panela na web serverima jer je najpodrzanija)

I'm going woo woo
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Tracer kaže...
Kiki kaže...
Tracer kaže...

ID ne ide nužno po redu i zato to rješenje nije dobro.

 Dali mi možeš, molim te, pojasniti malo tvoju tvrdnju? Pogotovo ono žuto.
Nisam siguran da baš razumjem.

Hvala
 U praksi ID ne ide nužno po redu. Primjerice, imam u firmi 3 svoje access baze s preko 10 000 zapisa i u svakoj od njih prvih par stotina zapisa ID ide po redu dok u jednom trenutku ID krene od 65536 prema nazad. Sada je negdje i prema sredini, i da budem iskren nemam pojma odakle bi sad krenuo kad bi dodao novi zapis.

Zato bi možda najbolje bilo da se kreira kolona tipa timestamp (rowversion) ili datetime pa da se prema tome sortiraju zapisi i izuzme ovaj zadnji.
 Ok, shvačam šta želiš reći.
unsigned integer ima takvo ograničenje (2^16).
treba polje koje je autonumber staviti kao long integer ili neki drugi tip podataka koji zadovoljava uvijete.


i-VTEC
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
tnakir kaže...

Vidim da ne poznajes materiju dovoljno... iole ozbiljniji web sajtovi imaju poprilican broj upita gdje i mySQL ima problema sa lose izvedenim bazama podataka. Access baze su eto... da firma ima  nekakav adresar ili sta ja znam sta, u koliko je koristi u ozbiljnije svrhe bilo tko ko se malo ozbiljnije bavi programiranjem ce ti se nasmijati.

 

Druga stvar, za access bazu (pristup sa vise racunala i slicno) moras mapirati diskove i slicno (dakle sa vise razlicitih racunala pristupati istoj bazi).

 

Trece, MS SQL i .mdb... ja izbjegavam takav pristup... radije radim bazu direktno na serveru i pristupam njoj preko servisa.

 

Cetvrto, sigurnost baze podataka, ako joj mozes pristupit, znaci da je mozes (ugrubo govoreci) i kopirati. Cim je imas na vlastitom racunalu brakein je poprilicno olaksan...

 

Kao sto rekoh, slobodno si je ti koristi, ali ako se iole mislis ozbiljnije baviti sa tim, prebaci se na mysql ili nekakvu drugu verziju tipa SQLite i slicno... (preferiram mySQL radi control panela na web serverima jer je najpodrzanija)

Da ti znaš koliko ozbiljno se ja bavim programiranjem i koliko na tom području imam iskustva ti bi se smijao samom sebi. Štoviše, mogao bi ti držati i instrukcije o bazama jer sam ovdje iznio i više nego previše materije i samo se vidi da si ti taj koji nije upoznat s accessom.

Druga stvar, ne treba se mapirati diskove. Dovoljno je bazu shareati kao najobičniju datoteku.

Treća, to što ti radije koristiš jedan pristup a ne drugi je tvoj osobni izbor i u to ne ulazim. Ja govorim striktno o mogućnostima i specifikacijama access baze.

Četvrto, čim imaš mogućnost da se spojiš na bilo koju bazu odmah zapravo imaš i mogućnost da ju iskopiraš. To nema veze s accessom.

Peto, za web rješenja se mogu složiti da access nije najbolji izbor. Tu u svakom slučaju preferiram server.
Nova poruka
E-mail:
Lozinka:
 
vrh stranice