Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie tych samych rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
Pilsener
Witajcie, mam tabelę, która wygląda np. tak:

user|liczba|k1|k2|k3
abc|23|1|0|0
xyz|12|0|1|0
tes|8|1|0|0
qwe|24|0|1|1
abc|7|1|0|1
asd|9|1|1|0
xyz|15|1|1|1

Każdy login może należeć do dowolnej grupy (k1, k2, k3) - wtedy jest tam 1, może należeć do wielu grup i powtarzać się dowolną liczbę razy w tabeli

Czy jest możliwe wyciągnięcie jednym zapytaniem takiej tabeli, żeby policzyć sumę liczb dla danego loginu, spełniającego np. kryteria przynależności do k1,k2,k3 zachowując informacje, jaka jest suma dla k1, k2 ,k3 etc.

Coś takiego ma wyjść:

user|suma liczb dla k1|suma liczb dla k2| suma liczb dla k3
abc|30|0|7
xyz|15|27|15

Ewentualnie w wierszach:
abc|k1|suma
abc|k2|suma
abc|k3|suma
xyz|k1|suma
xyz|k2|suma
etc.
nospor
group by oraz sum
Pilsener
Znam group by i sum - niestety jakbym nie kombinował z grupowaniem, nijak mi nie wychodzi.

Eidt: chodzi o to, że jeden wpis może należeć DO WIELU grup, więc grupowanie wyświetli ich kombinację, a nie sumę, jak mam np.:

login|liczba|k1|k2|k3
--------------------------
abc|1|1|0|0
abc|1|1|0|0
abc|2|0|1|0
abc|3|0|0|1
abc|4|1|1|1
abc|5|1|1|0

To zamiast wyświetlić:

abc|k1|11
abc|k2|11
abc|k3|7

To wyświetla:
abc|2
abc|2
abc|3
abc|4
abc|5 - sumuje tylko identyczną kombinację kryteriów
nospor
  1. SELECT login, sum(liczba*k1) sumak1,sum(liczba*k2) sumak2, sum(liczba*k3) sumak3 FROM tabela GROUP BY login
Pilsener
Na to nie wpadłem winksmiley.jpg Normalnie jak mnie gdzieś zobaczysz, to zgłoś się po piwo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.