![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
mam mały zgryz ze zbudowaniem selecta zwracającego wynik w %.
Mam taką oto tabelę pola: TYP, PODTYP (przyjmują wartość w zakresie 1-99), VAR1, VAR2, VAR3 (wartość 1 lub 2) Rekordów takich docelowo będzie całkiem sporo. Teraz chcę zrobić coś takiego, że wybieram sobie TYP i PODTYP i dla nich zwraca mi: ile % VAR1 = 1 ile % VAR2 = 1 ile % VAR3 = 1 Jak coś takiego zrobić w jednym zapytaniu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
mmmmm... bliżej, ale jeszcze chyba nie to.
tych p1, p2 i p3 to ja faktycznie nie mam, to tylko przykład co chciał bym uzyskać. to p1 w zamierzeniu stanowić by miało: SELECT COUNT(*) FROM tabela WHERE TYP=99 AND PODTYP=34 AND VAR1=1 dzielone na SELECT COUNT(*) FROM tabela WHERE TYP=99 AND PODTYP=34 to wszystko *100 i na koniec zaokrąglone. -analogicznie p2 i p3 Wracając jeszcze do wyjaśnienia. Mam w bazie przykładowo dajmy 6710 rekordów, z czego 450 spełnia warunek WHERE TYP=99 AND PODTYP=34 Teraz na te 450, jest 20 rekordów gdzie VAR1=1, 225 z VAR2=1 i 110 z VAR3=1 zatem obliczając tu % - wzór: (ile/zilu)*100 powinienem dostać tutaj po zaokrągleniu dla VAR1 4%, dla VAR2 50% i dla VAR3 24% Nie jest to więc takie proste jak by się wydawało, przynajmniej dla mnie. (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) Na upartego to mogę to w oddzielnych zapytaniach powyciągac i % już w php obliczyć (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) No ale może ktoś podsunie jeszcze jakieś rozsądne rozwiązanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 04:02 |