![]() |
Zapytanie pod warunkiem 1 nazwy - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: Zapytanie pod warunkiem 1 nazwy (/thread-zapytanie-pod-warunkiem-1-nazwy) Strony:
1
2
|
Zapytanie pod warunkiem 1 nazwy - Intelactive - 10-12-2012 Witam. Jak ułożyć zapytanie, tak by pogrupowało rekordy z daną nazwą. Mam tabele z pytaniami, i mam tabele z odpowiedziami. Z odpowiedziami mam np. pytanie_id i chcę aby liczyło mi rekordy z danym id. Mam np. 2 odpowiedzi z id 3 - liczy mi te ktore ma 3 Mam np. 1 odpowiedz do pytania id 8 i liczy mi ile jest odpowiedzi do tego pytania id 8. Np. Odpowiedzi: 1 - Tytuł Odpowiedzi 0 - tytuł1 Nie umiem tego napisać prościej. Wiem jak policzyć, nie wiem jak zapytanie skonstruować. RE: Zapytanie pod warunkiem 1 nazwy - Pedro84 - 10-12-2012 COUNT() + GROUP BY RE: Zapytanie pod warunkiem 1 nazwy - Intelactive - 10-12-2012 O to chodziło, dzięki ; ) RE: Zapytanie pod warunkiem 1 nazwy - Intelactive - 11-12-2012 Próbowałem tak, ale coś nie wychodzi, gdzie mam błąd? $zapytanie = mysql_query("SELECT COUNT() from answers GROUP BY question_id"); echo mysql_num_rows($zapytanie); RE: Zapytanie pod warunkiem 1 nazwy - Pedro84 - 11-12-2012 Pokaż strukturę tabel, ok? RE: Zapytanie pod warunkiem 1 nazwy - Intelactive - 11-12-2012 //Tworzymy trzecią tabele mysql_query("CREATE TABLE `questions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` text NOT NULL, `text` text NOT NULL, `add` varchar(50) NOT NULL, `data` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;"); //Tworzymy trzecią tabele mysql_query("CREATE TABLE `answers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `question_id` int(11) NOT NULL, `text` text NOT NULL, `add` varchar(50) NOT NULL, `data` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;"); RE: Zapytanie pod warunkiem 1 nazwy - Pedro84 - 11-12-2012 Dobra: 1. przy COUNT() liczysz wystąpienia w zbiorze jakiejś kolumny, u Ciebie nie ma 2. analogicznie, musisz stworzyć złączenie (JOIN) RE: Zapytanie pod warunkiem 1 nazwy - Intelactive - 11-12-2012 SELECT COUNT(*) FROM tabela Nie rozumiem punktu 2. Możesz mi wytłumaczyć? RE: Zapytanie pod warunkiem 1 nazwy - Pedro84 - 11-12-2012 (11-12-2012, 20:01)Intelactive napisał(a): SELECT COUNT(*) FROM tabela1. Lepiej licz po ID. 2. Jeśli chcesz pobrać rekordy z dwóch tabel, to musisz zastosować joina, nie? ![]() RE: Zapytanie pod warunkiem 1 nazwy - Intelactive - 11-12-2012 Nie chce pobierać rekordy z 2 tabel. Chce by pogrupowało mi z answers po nazwach ; ) SELECT COUNT(*) FROM tabela GROUP BY costam. Chyba źle się wyrazilem. To policzy mi ile tego jest. Ja chcę, by wyświetlało mi dla każdego question_id ile jest. Przykładowo jest trzy 2id w question id i pięc 3id w question_id Chcę by wyświetliło mi, 6 i 15 Pokaże może jak to ma wyglądać ; ) Odpowiedzi 1: Tytuł Odpowiedzi 1: blabla Odpowiedzi 8: blabla itp. |