![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 29.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam taką oto tabelę do której zrzucam dane w postaci zmiennych. Wpisy w tabeli "value" wyglądają następująco:
g1,g2 g4,g3,g1 g1 g2 g3,g9 Mniej więcej tak, w zależności od dokonanych wyborów w formularzu. Interesuje mnie zbudowanie zapytania które wśród tych wpisów policzyłoby ilość wystąpień dla każdego g . |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zakładając że gX pojawi się raz w jednym wpisie to użyj takiego zapytania:
-------------------- Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 29.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca o takie zapytanie chodziło.
Interesuje mnie wynik w postaci tablicy value licznik g1 15 g2 2 g3 67 gX x ........ i tak dalej. Czyli ilość wystąpień dla danych gX z każdego z rekordów i ich podsumowanie. W ten sposób zliczę tylko pojedyncze wystąpienia, a mnie interesuje wykonanie zapytania które wypisze mi ilość wystąpień dla każdego gX. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 19 Dołączył: 7.09.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
PS. w tabeli value jak widze masz po przecinku zapisane wartosci? To musisz sobie to w takim razie pobrać i w np. w php obrobic... niestety lezy baza... Każdy rekord powinien zawierać osobny wpis-wartość.. Ten post edytował pablo89pl 3.12.2010, 09:51:40 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
PS. w tabeli value jak widze masz po przecinku zapisane wartosci? Właśnie dlatego napisałem %gX%, tak aby wykonał sobie to kilka razy dla tych swoich kilku g1, g2, g3, g4, ewentualnie można by zrobić takie "mini" subquery, albo jakaś funkcje licząca to wszystko. @ouizzard daj proszę znać w jakim celu to potrzebujesz zliczać - czy wchodzi w grę przebudowa bazy danych, oraz czy potrzebujesz liczyć dla konkretnego np. g3, czy potrzebujesz wszystkie naraz zsumować i zobaczyć ile jest czego. -------------------- Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 29.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie tak pablo. Potrzebuję zsumować ilość ogólną oraz ile czego(czyli ile tych gX). Przebudowa raczej już nie wchodzi w grę. W razie co będę robił to na piechotę, czego chciałem uniknąć i zadać jedno pytanie. Założenia bazy były inne na początku. Projekt już wdrożony i nie bardzo chcę już teraz to zmieniać. C
Chodzi tu o zwykłe statystyki ile i jakich opcji zostało wybranych.Może wystarczyloby stworzenie jakieś tabeli która by mi dla każdego G liczyła jego wystąpienia, ale to już zupełnie nie wiem jak wykonać. Nie muszę tego nigdzie wystawiać ani pobierać, interesuje mnie jedynie operacja na bazie aby wynik przekazać że tak powiem "szefowi akcji", a z uwagi że ilość tych G stale rośnie robienie na piechotę jest dość uciążliwe. Ten post edytował ouizzard 3.12.2010, 11:51:22 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak modyfikacja bazy nie wchodzi w grę, to ja bym po prostu zrobił to w taki sposób uruchamiając prosty skrypt. Pętla będzie sprawdzać kolejne gX aż natrafi na 0, więc prawdopodobnie skończą się opcję. Mówiłeś, że opcji wciąż przybywa więc chyba to będzie najlepszy sposób na szybkie sprawdzanie ilości. Musi być bez group by value, ponieważ chcemy liczyć wystąpienia gX, a nie grupy takich samych odpowiedzi.
-------------------- Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 29.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
No i gites. Wielkie dzięki za pomoc. I o to mi chodziło. Wystarczy.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:07 |