De unde știi numărul de înregistrări din sql-eșantion

Sunteți aici: Pagina principală - MySQL - SQL - De unde știi numărul de înregistrări în SQL eșantion

Foarte des, nu avem nevoie pentru a extrage date dintr-un tabel, dar trebuie să știm numărul de înregistrări din eșantion-SQL specifice. Într-un caz particular, numărul de intrări în tabel. Iată cum pentru a afla numărul de înregistrări din SQL-eșantion. O să-ți spun în acest articol mic.

De fapt, totul este foarte simplu, și avem nevoie doar funcția COUNT ():

SELECT COUNT (*) din `table` WHERE` field_1` = 'VALUE_1'

După efectuarea interogarea va fi returnat result_set. în care este stocat elementul matrice care conține COUNT (*) cu valoarea numărului de intrări în tabela „tabel“ unde câmpul „field_1“ are o valoare de „valoare_1“.

Un alt exemplu. Să presupunem că, trebuie să învețe un număr de înregistrări. Apoi, același lucru, dar fără unde:

SELECT COUNT (*) din `table`

Și să ne, în cele din urmă, aruncă într-un alt exemplu. Să presupunem că aveți nevoie pentru a calcula numărul de intrări unice în tabelul de mai jos:

SELECT COUNT (DISTINCT `field_1`) din` table`

Iată o funcție simplă COUNT (), puteți găsi cu ușurință numărul de înregistrări din SQL-eșantion. fără a îndepărta ei înșiși în timpul înregistrării și economisirea resurselor.

Adăugat înainte de fiecare UNION ALL SELECT COUNT (*) ca `r_1` din` works` UNDE razdelName` = 'sol_testo'` AND` del` = '' UNION ALL SELECT COUNT (*) ca `r_2` din` works` UNDE` razdelName` = 'tochka_k_tochke' și `del` = '' UNION ALL SELECT COUNT (*) as` r_3` din` works` WHERE` razdelName` = 'svad_decor' și `del` = '' eroare se afișează fatal error: Call to un fetch_assoc functie membru () pe un non-obiect. Eu fac în așa fel încât toate cererile au fost făcute separat - deci funcționează. Deci, poate, și se lasă. ) Oricum mulțumesc pentru încercarea de a ajuta. )

Încă o dată repet: pentru a înlocui UNION UNION ALL. Tu chiar a trebuit să selecteze mai întâi UNION? Nu? Atunci de ce au fost adăugate?

El a îndepărtat înainte de prima SELECTom și a devenit ca înainte de a da doar un singur Array ([r_1] => 52) și toate. Bine, Michael, pentru mine nu este critică astăzi. Separat, toate spus cum ar trebui să mulțumesc lui Dumnezeu. )) Mulțumesc din nou.

Ea nu poate fi, atunci, din nou, am făcut ceva greșit. Am verificat personal această cerere pe cont propriu și am totul de lucru perfect. Strâns necesar pentru a face ceea ce scriu.

Bună Michael. Nu spune și nu există o altă cale de a calcula numărul de înregistrări din eșantion? Pentru că am o cerere COUNT (*) va dura 30-40 de secunde. La baza de aproximativ 6 milioane de înregistrări.

SELECT DISTINCT `my_table` din` column1`; FOUND_ROWS SELECT (); Dacă conduceți în phpMyAdmin, de fapt, returnează numărul de înregistrări unice, dar în PHP pentru a ajunge până la acest număr, nu am putut, chiar a dat resourse.

Dacă baza de date (mai corect în tabel). 6 milioane de înregistrări, face deja exact sens să se gândească la optimizarea interogare. COUNT mai rapid (*) poate lucra numai COUNT (*) :))) Aici este o necesitate directă să contorizați toate înregistrările din tabel? Cel mai probabil, există o anumită condiție în cazul în care? Asta e atunci când poate indexa tabelul de la contul nu a fost scanare completă, și indicele.

Bună, Michael. Spune-mi, cât de multe (maxim) înregistrări de interogare sql poate trage (prin Select)?

articole similare