Autor | Zpráva | ||
---|---|---|---|
Sith Profil * |
#1 · Zasláno: 17. 10. 2009, 21:22:11
Ahoj, je možné použít COUNT nad již sestaveným dotazem / SELECTem?
Zatím jsem na to nepřišel. Jestli ano, jak? Díky. David |
||
Sith Profil * |
#2 · Zasláno: 17. 10. 2009, 21:35:47
Abych to upřesnil - počítat se mají výsledné řádky ze SELECTu.
|
||
Yur4Y Profil |
#3 · Zasláno: 17. 10. 2009, 22:19:16
Pre MySQL a PHP môžete použiť funkciu mysql_num_rows().
|
||
Sith Profil * |
#4 · Zasláno: 17. 10. 2009, 23:17:57
To vím, tak to ještě upřesním :)
Nechci tahat data do pameti v PHP jen kvuli spocitani. Tzn. soucet má proběhnout na úrovni databáze - proto ten COUNT ..... |
||
Alphard Profil |
#5 · Zasláno: 17. 10. 2009, 23:21:11 · Upravil/a: Alphard
Sith:
Nechápu, proč nejde použít normální count. Tohle jste četl? Především SQL_CALC_FOUND_ROWS. |
||
Sith Profil * |
#6 · Zasláno: 18. 10. 2009, 09:24:01
„Nechápu, proč nejde použít normální count. Tohle jste četl? Především SQL_CALC_FOUND_ROWS.“
FOUND_ROWS() jsem našel, akorát na stránkách mysql nic o efektivitě není. Autor toho článku tvrdí, že OK, tak to vyzkouším. Řeknu vám, proč volím tuto variantu. Do aplikace dopisuji stránkování dat. Mám postavený datový model a abych ho nemusel komplikovat, tohle perfektně pomůže. |
||
Alphard Profil |
#7 · Zasláno: 18. 10. 2009, 09:45:23
Sith:
„Autor toho článku tvrdí, že OK, tak to vyzkouším.“ Tomuto autorovi (Jakub Vrána) bych věřil. |
||
pEeLL Profil |
#8 · Zasláno: 18. 10. 2009, 12:41:55
nedavno jsem cetl clanek o SQL_CALC_FOUND_ROWS a výsledek jasne hovoril pro COUNT. dal jsem si par minut a clanek vam nasel:
http://www.phpdevblog.net/2009/06/mysql-pagination-sql-calc-found-rows-vs-count-query.html |
||
Kajman_ Profil * |
#9 · Zasláno: 18. 10. 2009, 19:55:42
Pokud nepotřebujete ta data v jednotlivých řádcích, tak stačí jednoduchý count
select count(*) from (select s nejakymi podminkami a spojenim) t |
||
Časová prodleva: 4 dny
|
|||
Sith Profil * |
#10 · Zasláno: 22. 10. 2009, 08:01:18
Kajman:
Ano, jde jen o COUNT. O tohle jsem se snažil v první řadě, ale dotaz se mi nepovedlo vytvořit, aniž bych ten původní neupravil. Můžete nahodit konkrétní příklad? |
||
Joker Profil |
#11 · Zasláno: 22. 10. 2009, 08:06:12
Sith:
„Můžete nahodit konkrétní příklad?“ Vždyť tam je příklad. Co sem tak dát ten předmětný SQL dotaz, abychom věděli, kde je problém? |
||
Sith Profil * |
#12 · Zasláno: 22. 10. 2009, 20:42:07
Joker:
Jednoduchy dotaz typu (SELECT id FROM zakaznici) |
||
Sith Profil * |
#13 · Zasláno: 22. 10. 2009, 20:46:34
Tak jsem si přečetl znovu Kajmanuv post, hanba. Predpokladal jsem, ze to "t" je překlep. Ale je to ALIAS. Takže počet řádků z předchozího dotazu, jak už bylo napsáno:
SELECT COUNT(*) FROM dotaz <alias> Díky všem, vyřešeno! :) |
||
Časová prodleva: 14 let
|
0