Zadejte hledaný výraz...

Jak spočítat počet záznamů vrácených vnořeným dotazem?

arien
verified
rating uzivatele
23. 2. 2011 13:16:23
Hoj asi to bude triviálnost.. , ale já vůbec nevím jak na to.
Potřebuju po mysql vrátit počet záznamů tohoto dotazu:
(select * from `tabulka` where `kategorie` LIKE '%neco%' and CITY in ("Praha") ) union (select * from `tabulka` where `kategorie` LIKE '%neco2%' and CITY in ("Praha") )
Tohle mi vrací větší počet než má dotaz výsledků podle phpadmina:
SELECT (SELECT count(*) FROM `tabulka` WHERE `kategorie` like '%neco%' and CITY in ("Praha") ) + (SELECT count(*) FROM `tabulka` WHERE `kategorie` like '%neco2%' and CITY in ("Praha") ) as pocet
a tohle mi hází chybu:
SELECT COUNT((select * from `tabulka` where `kategorie` LIKE '%neco%' and CITY in ("Praha") ) union (select * from `tabulka` where `kategorie` LIKE '%neco2%' and CITY in ("Praha") )) as pocet
Omlouvám se jsem začátečník a google mne ještě víc zmátl..
23. 2. 2011 13:16:23
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612479
Pavel Mička
verified
rating uzivatele
23. 2. 2011 13:25:01
muj osobni odhad je (ale v mysql nedelam...a v sql taky prilis ne...ale imho by to melo fachat)
SELECT count * from (select1 union select2)
23. 2. 2011 13:25:01
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612478
arien
verified
rating uzivatele
23. 2. 2011 13:39:27
Napsal malejpavouk;628720
muj osobni odhad je (ale v mysql nedelam...a v sql taky prilis ne...ale imho by to melo fachat)
SELECT count * from (select1 union select2)
Díky za rychlou odpověď. Nicméně takto mi to nefunguje.
Chápu jak to myslíš a zkoušel jsem různé obdoby, ale furt chyba
23. 2. 2011 13:39:27
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612477
duben
verified
rating uzivatele
(50 hodnocení)
23. 2. 2011 13:43:10
SELECT COUNT(*) as pocet FROM ((select * from `tabulka` where `kategorie` LIKE '%neco%' and CITY in ("Praha") ) union (select * from `tabulka` where `kategorie` LIKE '%neco2%' and CITY in ("Praha"))) xpocet
23. 2. 2011 13:43:10
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612476
Ahoj, zkusil bych explicitne vyjmenovat sloupce, ktere chces selectit. Potom pouzit ten count v podobe, jak uvedl malejpavouk. Kdyz ani to nepomuze, tak pak jeste udelat group by.
23. 2. 2011 13:43:18
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612475
duben
verified
rating uzivatele
(50 hodnocení)
23. 2. 2011 13:45:22
Možná by nebylo od věci nenechávat nás luštit ze skleněné koule, ale přímo napsat jakou chybu ti to konkrétně píše :)
23. 2. 2011 13:45:22
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612474
arien
verified
rating uzivatele
23. 2. 2011 13:50:54
Napsal duben;628731
SELECT COUNT(*) as pocet FROM ((select * from `tabulka` where `kategorie` LIKE '%neco%' and CITY in ("Praha") ) union (select * from `tabulka` where `kategorie` LIKE '%neco2%' and CITY in ("Praha"))) xpocet
Děkuji takto to funguje. Rep+ . Mohu se prosím zeptat jak funguje ten xpocet? Nebo co to vlastne je?
edit: Jo s tou koulí máš pravdu .. pardon hoši.
23. 2. 2011 13:50:54
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612473
duben
verified
rating uzivatele
(50 hodnocení)
23. 2. 2011 14:14:25
To "xpocet" to je jen alias pro vnoreny dotaz. Kdyz do FROM das zavorky a do nich das nejaky jiny dotaz (jednoduchy nebo slozeny) musis to nejak pojmenovat, misto xpocet tam dej cokoliv co te napadne :)
23. 2. 2011 14:14:25
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612472
arien
verified
rating uzivatele
23. 2. 2011 14:20:58
Napsal duben;628756
To "xpocet" to je jen alias pro vnoreny dotaz. Kdyz do FROM das zavorky a do nich das nejaky jiny dotaz (jednoduchy nebo slozeny) musis to nejak pojmenovat, misto xpocet tam dej cokoliv co te napadne :)
Aha. Ještě jednou díky. Budu si tu učebnici muset přečíst ještě jednou a tentokrát pořádně :D
23. 2. 2011 14:20:58
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612471
hm
verified
rating uzivatele
(20 hodnocení)
23. 2. 2011 14:24:42
jestli tyhle veciu v te ucebnici vubec jsou, jednou sem mel v ruce knizku na mysql co byla tak spatna ze jsem litoval kohokoliv kdo si ji koupil s tim ze se diky ni neco nauci :)
23. 2. 2011 14:24:42
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612470
Vladimír Benc
verified
rating uzivatele
(7 hodnocení)
24. 2. 2011 08:06:52
Napsal arien;628713
Select * from `tabulka` where `kategorie` LIKE '%neco%' and CITY in ("Praha") ) union (select * from `tabulka` where `kategorie` LIKE '%neco2%' and CITY in ("Praha") )
Jak psal duben a ten union - pokud je ta where podmínka takhle jednoduchá asi není potřeba ne?
24. 2. 2011 08:06:52
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612469
duben
verified
rating uzivatele
(50 hodnocení)
24. 2. 2011 11:57:12
Napsal ankel;629018
a ten union - pokud je ta where podmínka takhle jednoduchá asi není potřeba ne?
Pokud v tom WHERE bude mít jiná města, nebo v tom '%neco%' chce dát pokaždé něco jiného (což předpokládám) a zároveň se výsledné hodnoty zadanou podmínkou množinově překrývají pak UNION smysl mít může a řešení přes DISTINCT jednoduchým dotazem, nebo pomocí GROUP BY nemusí být ideální. Bez hlubší znalosti struktury, dat a požadovaného výsledku těžko říct.
24. 2. 2011 11:57:12
https://webtrh.cz/diskuse/jak-spocitat-pocet-zaznamu-vracenych-vnorenym-dotazem/#reply612468
Pro odpověď se přihlašte.
Přihlásit