[mysql]Zliczanie rekordów |
[mysql]Zliczanie rekordów |
21.04.2009, 19:42:55
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 15.03.2008 Ostrzeżenie: (0%) |
Witam poszukuje skryptu na zliczanie rekordów z bazy danych jeżeli by ktoś miał taki to bardzo bym prosił. Z góry dziękuję za pomoc+
|
|
|
21.04.2009, 19:45:15
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
do zliczania wykorzystujesz jedną funkcję COUNT. i tyle.
-------------------- |
|
|
21.04.2009, 19:51:53
Post
#3
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) |
|
|
|
21.04.2009, 19:56:23
Post
#4
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
Mozna też użyć f-cji SQL_CALC_FOUND_ROWS , a potem SELECT FOUND_ROWS()
-------------------- Life's simple... You make choices and don't look back...
|
|
|
21.04.2009, 20:00:13
Post
#5
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
Mozna też użyć f-cji SQL_CALC_FOUND_ROWS , a potem SELECT FOUND_ROWS() które zrobią dokładnie to samo co COUNT , nie ma różnicy kiedyś testowałem i niczym się nie różniło. -------------------- |
|
|
21.04.2009, 20:05:13
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
a na ilu rekordach testowales? 100? no to nie ma roznicy. przetestuj na kilku milionach
kolejna roznica to taka, ze przy count() znasz liczbe rekordow wtedy kiedy chcesz , a przy drugiej metodzie dopiero po pobraniu czesci danych. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.04.2009, 20:17:58
Post
#7
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
Cytat które zrobią dokładnie to samo co COUNT , nie ma różnicy kiedyś testowałem i niczym się nie różniło. To zależy. Bo np. przy paginacji przydaje się znać, ile rekordów zawierających jakiś warunek spełnia go spośród WSZYSTKICH zawartych w tabeli rekordów (spróbuj to zrobić używając COUNT() ) -------------------- Life's simple... You make choices and don't look back...
|
|
|
21.04.2009, 20:20:04
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat spróbuj to zrobić używając COUNT() aleś to teraz grypsa walnal....
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.04.2009, 20:24:59
Post
#9
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
Cytat aleś to teraz grypsa walnal.... Tzn? -------------------- Life's simple... You make choices and don't look back...
|
|
|
21.04.2009, 20:25:11
Post
#10
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
To zależy. Bo np. przy paginacji przydaje się znać, ile rekordów zawierających jakiś warunek spełnia go spośród WSZYSTKICH zawartych w tabeli rekordów (spróbuj to zrobić używając COUNT() ) przecież te funkcje działają prawie tak samo. różnią się tym co napisał ~nospor pare postów wyżej. Ten post edytował piotrooo89 21.04.2009, 20:25:43 -------------------- |
|
|
21.04.2009, 20:25:51
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
i juz masz ile rekordow spelnia jakis twoj warunek -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.04.2009, 20:31:28
Post
#12
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
Cytat i juz masz ile rekordow spelnia jakis twoj warunek @nospor - tak, ale z ILU łącznie ? Hę ? Przykład: masz 100 rekordów, z czego warunek _WAR_ spełnia 10 Wybierasz je zapytaniem: SELECT COUNT(*) FROM tabela WHERE _WAR_; W wyniku dostajesz 10. A teraz: Wyświetl mi z użyciem tylko COUNT() tekst: "Znaleziono 10 wyników spełniających _WAR_ spośród wszystkich 100 istniejących w bazie." - nie wiedząc, że tych wszystkich jest 100. -------------------- Life's simple... You make choices and don't look back...
|
|
|
21.04.2009, 20:35:53
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.04.2009, 20:41:00
Post
#14
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
O rzesz Ty orzeszku....
Cwane. Dobra, da się. Oddalam wniosek z SQL_CALC_FOUND_ROWS. -------------------- Life's simple... You make choices and don't look back...
|
|
|
21.04.2009, 21:51:47
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
[offftopic]
z tym SQL_CALC_FOUND_ROWS, to ten plus jest że tak naprawde ma się jedno zapytanie dla mnie to jest wygodniejsze i sądze że dla SQL'a łatwiej zrobić takie coś :
niż :
Ale było to chyba omawiane już w innym topicu, moim zdaniem jest to wygodniejsza metoda i nawet z logicznego punktu widzenia szybsza. (testowałem to na bodajże 100k rekordów w nocy na serverze dość sporego portalu i nie byłó różnicy czy dodam SQL_CALC_FOUND_ROWS czy nie, a po co wykonywać dwa tak skomplikowane zapytania? - jeżeli się myle prosze mnie poprawić :] ) [/offtopic] Ten post edytował melkorm 21.04.2009, 21:52:51 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 19:20 |