triedenie v sql

Programovacie jazyky, rady, poradňa...
donpucini
Light Expert
Light Expert
Príspevky: 71
Registrovaný: 22 jan 2008, 17:19

triedenie v sql

Príspevok od používateľa donpucini »

cawte

vedel by mi niekto poradit ako dat triedit data zo stlpca od najvacsieho ale s tym ze nezacne od toho najvacsieho ale az od druheho najvacsieho. dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: triedenie v sql

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

select stlpec from tabulka where stlpec<max(stlpec) order by stlpec desc
donpucini
Light Expert
Light Expert
Príspevky: 71
Registrovaný: 22 jan 2008, 17:19

Re: triedenie v sql

Príspevok od používateľa donpucini »

dal by si mi to kodu prosim lebo fakt neviem kam to mam dat - z tohto som uplne mimo

SELECT * FROM `car` WHERE znacka='AM' AND typ='350' ORDER BY price DESC, since DESC LIMIT 1

dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: triedenie v sql

Príspevok od používateľa audiotrack »

donpucini napísal:...od najvacsieho ale s tym ze nezacne od toho najvacsieho ale az od druheho najvacsieho...
ktorého najväčšieho keď tam triediť podľa dvoch kritérii? Ale ak cena, tak takto:

Kód: Vybrať všetko

SELECT * FROM `car` WHERE znacka='AM' AND typ='350' AND price<MAX(price) ORDER BY price DESC, since DESC
donpucini
Light Expert
Light Expert
Príspevky: 71
Registrovaný: 22 jan 2008, 17:19

Re: triedenie v sql

Príspevok od používateľa donpucini »

mi vyhodi chybu Invalid use of group function
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: triedenie v sql

Príspevok od používateľa audiotrack »

pred ORDER BY dopíš GROUP BY id (ak id je názov stlpca ktorý je primárnym klúčom)
donpucini
Light Expert
Light Expert
Príspevky: 71
Registrovaný: 22 jan 2008, 17:19

Re: triedenie v sql

Príspevok od používateľa donpucini »

chyba pretrvava :(

SELECT * FROM car` WHERE znacka='AM' AND typ='350' AND price<MAX(price) GROUP BY id ORDER BY price DESC, since DESC LIMIT 1

a id je primarnym klucom
COTHW
Medium Star
Medium Star
Príspevky: 497
Registrovaný: 08 aug 2009, 15:37

Re: triedenie v sql

Príspevok od používateľa COTHW »

Nemajú sa náhodou uviesť do group by všetky stlpce použité v select s výnimkou tých, na ktoré bola aplikovaná agregačná funkcia ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: triedenie v sql

Príspevok od používateľa audiotrack »

nie
donpucini
Light Expert
Light Expert
Príspevky: 71
Registrovaný: 22 jan 2008, 17:19

Re: triedenie v sql

Príspevok od používateľa donpucini »

tak napokon sa mi to podarilo vyriesit za pomoci kamarata

za LIMIT sa dosadi X, Y pricom X je pocet vynechanych dát a Y je pocet zobrazenych
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: triedenie v sql

Príspevok od používateľa audiotrack »

no ale to vôbec nie je to na čo si sa pýtal v prvom príspevku :) Takže zase sme narazili na zle formulované zadanie a ty si chcel niečo úplne iné
donpucini
Light Expert
Light Expert
Príspevky: 71
Registrovaný: 22 jan 2008, 17:19

Re: triedenie v sql

Príspevok od používateľa donpucini »

no ja by som povedal ze som to dobre formuloval chcel som aby to radilo do najvacsieho s tym ze vypis urobi iba od druheho najvacsieho
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: triedenie v sql

Príspevok od používateľa audiotrack »

presne tak, ale to tvoje s tým limitom to nespraví. Poviem príklad: Máme hodnoty 10,10,5. Tebe to vynechá prvú, a teda zobere 10,5. Pritom 10 je najväčšia hodnota a ty si to chcel
aby to radilo do najvacsieho s tym ze vypis urobi iba od druheho najvacsieho
Takže ak je tých "najväčších" hodnôt viac ako jedna, bude ti to brať zle. A keďže to radíš podľa ceny, som si istý že viac produktov môže mať rovnakú cenu
Napísať odpoveď