Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyciagniecie danych + count(*)
arczi
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 17.10.2006
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Witam,

  1. tabela user ( id, accepted )


chce wyciagnac z tabeli id wszystkich userow, ktorzy maja accepted=1 i przy okazji ich liczbe

probowalem paru kombinacji count(*) z selectem, group by ale raczej na sile

czy to proste zapytanie nie powinno dzialac?

  1. SELECT id, count(*)
  2. FROM user WHERE accepted=1


albo to:


  1. SELECT id, (SELECT count(*) FROM user WHERE accepted=1)
  2. FROM user WHERE accepted=1


prosze o pomoc/wskazowki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zulus
post
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


1. Przyjżyj się mojej wersji i swojej, jest kilka subtelnych różnic. Wygląda na to że ważna jest kolejność. Po za tym po nawiasie z podzapytaniem użyłem aliasu.

2. 2 zapytania są szybsze. Przy nieco większej liczbie wyników (27) zapytanie z podzapytaniem wykonywało się 3 razy dłużej od pierwszego, które miało tylko pobrać ID. Niestety PHPmyadmin nie epokazał jak długo trwało zapytanie z count (chyba było zbyt krótkie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )

W MySQL podzapytania bywają piekielnie wolne niestety.

BTW: Proponuję używać odwróconych nawiasów do nazw pól (`pole`), nazwy pól mogą też generować błędy.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 11:11