Autor | Zpráva | ||
---|---|---|---|
Icka Profil * |
#1 · Zasláno: 10. 7. 2005, 05:58:09
Zdravim, nějak si nedokáži poradit s sql dotazem, který by mě vypsal hodnoty jakoby při použití DISTINCT, ale to právě nelze, protože ty mé "stejné hodnoty" se v jednom klíči liší a ten klíč právě potřebuji vypsat také, ale jen ten řádek, kde má ten klíč nejvyšší hodnotu.
Nechce se mi to řešit PHPkem, tak kdyby jste někdo věděl, moc by mi to pomohlo. Díky |
||
ash Profil |
#2 · Zasláno: 10. 7. 2005, 09:44:46
Neviem, či dobre rozumien tvojmu popisu, ale skús toto:
select pole, max(kluc) from tabulka group by pole |
||
icka Profil * |
#3 · Zasláno: 10. 7. 2005, 13:27:43
Tak ten dotaz mám takto a píše mi to chybu...
select ident, inzerat, max(cislo), hrazeno, faktura, datum from seznam_2005 group by ident where inzerat like '%a%' and strike = 0 order by inzerat asc |
||
icka Profil * |
#4 · Zasláno: 10. 7. 2005, 13:31:26
cislo mám jako název sloupce, ve kterém jsou právě ty jediné rozdílné hodnoty (pro jinak stejné položky), které chci vypsat jen jednou s nejvyšší hodnotou pole cislo
|
||
Kaifman Profil |
#5 · Zasláno: 10. 7. 2005, 15:08:40
no mozna by to chtelo napsat jakou chybu to pise ... navic ti tam chybi u nuly apostrofy tak jestli to neni tim, co mas za mysql ?
krome tech apostrofu se mi zda ze to to co potrebujes .... teda jestli jsem to spravne pochopil |
||
Kaifman Profil |
#6 · Zasláno: 10. 7. 2005, 15:10:03
jo a group by ma bejt az ze order by to bude mozna ta chyba
|
||
icka Profil * |
#7 · Zasláno: 10. 7. 2005, 15:33:57
Tak samotnej dotaz funguje, ale jak přidám třeba jen max(cislo) nebo group by ident, tak to hned píše, že sql dotaz není validní.
Takto funguje select ident, inzerat, hrazeno, faktura, datum from seznam_2005 where inzerat like '%neco%' and strike = 0 order by inzerat asc takto ne select ident, inzerat, max(cislo), hrazeno, faktura, datum from seznam_2005 where inzerat like '%neco%' and strike = 0 order by inzerat asc To samé s "group by ident". Bez toho to funguje a s tím ne. |
||
icka Profil * |
#8 · Zasláno: 10. 7. 2005, 15:34:54
I když mám ten group až za order by inzerat asc
|
||
Charlie Profil |
#9 · Zasláno: 10. 7. 2005, 15:42:27
GROUP BY se používá místo ORDER BY, dohromady to podle mně nejde použít.
|
||
icka Profil * |
#10 · Zasláno: 10. 7. 2005, 15:52:18
To je pravda, group by je místo order by... Už to funguje... Ale teď se mi to i srovná podle klíče ident a to nechci. Musí se to řadit podle inzerat
|
||
icka Profil * |
#11 · Zasláno: 10. 7. 2005, 16:06:58
Už to mám... Group by inzerat, ident... A je to ok
Díky |
||
Kaifman Profil |
#12 · Zasláno: 10. 7. 2005, 16:23:48
> GROUP BY se používá místo ORDER BY
jde ale order by musi smerovat na ten sloupec podle kteryho grupujes jinak to nema vyznam |
||
Charlie Profil |
#13 · Zasláno: 10. 7. 2005, 16:26:29
Kaifman, dík, to jsem nevěděl.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0