Portál AbcLinuxu, 10. května 2025 04:34

Dotaz: pocet riadkov v tabulke COUNT

13.1.2010 22:56 amico | skóre: 24
pocet riadkov v tabulke COUNT
Přečteno: 442×
Odpovědět | Admin
Zdravim Potrebujem zistit pocet riadkov v tabulke co najrychlejsi dotaz:
$result = mysql_query("SELECT * FROM table");
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
Tak podla toho navodu to robim aj ja a funguje to. Neni vsak lepsie pouzit COUNT?
$result = mysql_query("SELECT COUNT(*) FROM table1");
$num_rows = mysql_num_rows($result);
ide o to ze potom uz v $num_rows nemam pocet riadkov a ani sa k nemu nemozem nijak dopracovat

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.1.2010 23:03 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Odpovědět | | Sbalit | Link | Blokovat | Admin
V $num_rows je počet řádků (jeden), což je správně. Musíš si přečíst výsledek dotazu - ten tě zajímá.
Překladač ti nikdy neřekne: "budeme kamarádi"
13.1.2010 23:43 fraxinus | skóre: 20 | blog: fraxinus
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Odpovědět | | Sbalit | Link | Blokovat | Admin
$q = mysql_query("SELECT COUNT(*) FROM table1");
$r = mysql_fetch_row($q);
echo "Riadkov je ".$r[0];
14.1.2010 09:30 R
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Alebo bez zbytocnych riadkov a premennych: list($pocet) = mysql_fetch_row(mysql_query("SELECT COUNT(1) FROM table"));
Toman avatar 14.1.2010 10:22 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
:-) A nebo nejefektivněji takto:
dibi::query('SELECT * FROM `tabulka`')->rowCount();
14.1.2010 10:50 fraxinus | skóre: 20 | blog: fraxinus
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Co sa stane ked ma ta tabulka milion riadkov?
14.1.2010 10:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Tohle rozhodně efektivní není – je nesmysl počítat počet řádků na klientovi, když to daleko snáz může udělat server. A nemusí přitom načítat celou tabulku a odesílat ji na klienta.
14.1.2010 12:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Ta mělo být nejneefektivněji :).
Pominu-li nezanedbatelnou komunikaci server → client, většina DB engine má výkonově optimalizované provedení fce COUNT(*).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Toman avatar 14.1.2010 13:50 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Proto to začínalo tím smajlíkem!! :-) To měla být přehnaná reakce na "Alebo bez zbytocnych riadkov a premennych". Mne je jasné, že to je blbost, př. načíst 60300 řádku a pak je spočítat, když to zvládne už DB engine. Byla to ironie.
14.1.2010 15:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Bral jsem to 50 / 50 ≡ ironii / vážně, ale říkal jsem si aby to někoho nezmátlo :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
14.1.2010 16:12 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Já to moc za ironii nebral, asi těch smajlíků bylo potřeba víc. ;)
Překladač ti nikdy neřekne: "budeme kamarádi"
Toman avatar 14.1.2010 19:03 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Toman avatar 14.1.2010 10:16 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud můžu doporučit, tak si výsledky agregačních funkcí pojmenovávejte. Výsledek pak může vypadat nějak takto:
<?php
$result = mysql_query("SELECT COUNT(*) AS pocet_radku FROM `tabulka`");
$row = mysql_fetch_object($result);
echo 'Výsledek dotazu (počet řádků): ' . $row->pocet_radku;
Have you tried turning it off and on again? | tomaskavalek.cz | Google
14.1.2010 21:52 amico | skóre: 24
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ludia mne uz nefunguje ani to co mi predtym fungovalo prvy dotaz mi vypisuje pekne rozdiel datumov takze spojenie s databazou mam v poriadku
$result2 = MySQL_Query("SELECT DateDiff('2009-01-07', '2009-01-01')");
$datediff_a = MySQL_Fetch_Array($result2);
$datediff = $datediff_a[0];
echo "rozdiel datumov je $datediff dni";
druhy uz vyhadzuje errory:
$q = mysql_query("SELECT COUNT(*) FROM table;");
$r = mysql_fetch_row($q);
echo "Riadkov je ".$r[0];
to iste aj ten co mi predtym fungoval:
$result = mysql_query("SELECT * FROM table");
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table' at line 1

resp. bez toho or Die(MySQL_Error()):

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www\cotus\test_MYSQL\test.php on line 26
14.1.2010 22:32 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Na nový dotaz je lepší opravdu založit dotaz a ne jen vlákno - opravdu se ta tabulka jmenuje table?
Překladač ti nikdy neřekne: "budeme kamarádi"
14.1.2010 22:46 amico | skóre: 24
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
ano tabulka ma nazov table a to neni vsetko... skript mi funguje s datab1 a tab1.
presne ten isty script nasmerujem na inu databazu datab2 a tab2 a uz vypisuje tie errory
14.1.2010 22:51 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Výrazně neporučuji používat kterékoliv z těchto slov pro pojmenování čehokoliv v MySQL.
Překladač ti nikdy neřekne: "budeme kamarádi"
14.1.2010 22:58 amico | skóre: 24
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Diky
tusil som ze to bude malinky hacik a doteraz som sa s tym nestretol a googlim cele poobede ale toto som neobjavil dik este raz
14.1.2010 22:37 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Máte v tom trochu chaos jednou je tam table pak zas table1
Ten středník z příkazu huš, pryč s ním.
Za warning PHP se můžete sám když nic neošetřujete.
Za chybu SQL dotazu si taky můžete sám, když už zvolíte tak nevhodné jméno tabulky, tak musí být zauvozovkované těmi správnými uvozovkami.
if($q = mysql_query("SELECT COUNT(*) AS cnt FROM `table`"))
{
  if(($r = mysql_fetch_row($q)) !== false) //nebo jiný mysql_fetch_xxxx
  {
    echo "Riadkov je ".$r[0];
  }else echo "confused error";
}else echo "SQL query error";
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
14.1.2010 22:53 amico | skóre: 24
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Dakujem velmi pekne

pomohli tie uvodzovky a samozrejme aj ta zmena nazvu tabulky a vtedy to zacalo funguvat aj bez tych uvodzoviek...

Ale nerozumiem tomu ani za mak preco je nazov table taky nevhodny a co su to za uvodzovky obycajny apostrof my s tym nespravil nic...

este raz dik
14.1.2010 23:13 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Nevhodný..., protože je to rezervované klíčové slovo.
Apostrof :), každý má jiný význam :), asi je to grave accent, ten u tildy na US klávesnici.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
14.1.2010 23:17 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: pocet riadkov v tabulke COUNT
Je to zpětný apostrof, většinou nalevo od klávesy 1.
Překladač ti nikdy neřekne: "budeme kamarádi"

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.