| Autor | Zpráva | ||
|---|---|---|---|
| raxon Profil * |
#1 · Zasláno: 19. 8. 2011, 10:03:45
Ahoj,
mám tabulku id, kategorie. Když ji vypíšu vypadá něják takto: id kategorie 1 elektro 2 nabytek 3 zelenina 4 elektro 5 elektro ... potreboval bych vypsat počet věcí, na kterých se budu ptát v dotazu v limitu 0,4. tzn. ze vezmu prvni 4 zaznamy, a v selectu bude co chci spočítat ... když elektro, tak to vrátí 2, když nabytek, tak 1. Lze to nějáým způsobem v MySQL udělat? Příkaz WHERE použit nemůžu, protože ten vybere data i za id 4. Chci vybrat pouze prvni 4 radky a ty spocitat. Předem děkuji za odpověď |
||
| Joker Profil |
#2 · Zasláno: 19. 8. 2011, 10:10:41
raxon:
To správné je GROUP BY. SELECT count(id), kategorie FROM tabulka WHERE id < 5 GROUP BY kategorie |
||
| raxon Profil * |
#3 · Zasláno: 19. 8. 2011, 10:43:48
Joker:
existuje i zpusob jakym vyberu prvni 4 zaznamy bez zavislosti na id? Bude to totiž seřazeno od největšího po nejmenší. A jeste bych potřeboval do toho dotazu zahrnout napr. kategorie='elektro' abych věděl, že výsledné číslo je z kategorie elektro. Dá se to? |
||
| Joker Profil |
#4 · Zasláno: 19. 8. 2011, 11:09:29 · Upravil/a: Joker
raxon:
Jde to, ale asi bude potřeba vnořený dotaz: SELECT count(id), kategorie FROM (SELECT id, kategorie FROM tabulka ORDER BY id LIMIT 4) GROUP BY kategorie Dodatek: „Bude to totiž seřazeno od největšího po nejmenší.“ - no pak záleží, podle čeho se to má řadit, to se dá do ORDER BY |
||
| Kajman_ Profil * |
#5 · Zasláno: 19. 8. 2011, 11:23:12
raxon:
„abych věděl, že výsledné číslo je z kategorie elektro“ Ke které kategorii ten počet patří zjistíte podle druhého sloupečku (spočítá to všechny obsažené kategorie najednou). Joker: Ještě bude potřeba za závorkou s poddotazem nějaký alias. |
||
| raxon Profil * |
#6 · Zasláno: 19. 8. 2011, 11:40:36
Jojo super mam to, děkuji moc všem :)
|
||
|
Časová prodleva: 14 let
|
|||
0