Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]zapytanie mysql
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Witam mam taki maly problem z zapytaniem mysql. chodzi o to że nie wiem jak zadać pytanie.

1|a|uzytkownik
2|a|uzytkownik2
3|a|uzytkownik3
4|b|uzytkownik4
5|a|uzytkownik5
6|b|uzytkownik6

tak wyglada mniejwiecej moja tabelka, i teraz chciałbym sprawdzić jakie jest najmniejsze ID dla każdego z tematów, żeby zobaczyć który użytkownik go zapoczątkował.

Zacząłem w ten sposób

  1. $zapytanie=mysql_query("select min(id) from table....")


no wlasnie i chyba tu nie moge tego tak zostawić dlatego że on mi wybierze najmniejsze ID z całej tabeli
a ja chce najmniejsze ID z a i z b, czyli po zapytaniu powinno wyświetlić

a uzytkownik
b uzytkownik4

Proszę o pomoc bo nie mam juz pojęcia jak to zrobić.
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Cytat(neo1986kk @ 4.06.2010, 12:44:55 ) *
kolumna_1|kolumna_2|kolumna_3
1|a|uzytkownik
2|a|uzytkownik2
3|a|uzytkownik3
4|b|uzytkownik4
5|a|uzytkownik5
6|b|uzytkownik6

  1. SELECT DISTINCT kolumna_2,kolumna_3 FROM tabela WHERE costam ORDER BY kolumna_1 ASC

tak z palca, ale powinno dzialac, jak nie to dokladnie, to juz wiesz jak kombinowac winksmiley.jpg


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
neo1986kk
post
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


no wlasnie najgorsze jest to cos tam, bo cos tam = min(id), ale to min(id) powinno być przy każdym kolumna_2 ,a nie na całą tabelę.
Go to the top of the page
+Quote Post
misiek172
post
Post #4





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

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


może spróbuj użyć GROUP BY


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
neo1986kk
post
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


przeciez on grupuje bo wybraniu rekordu, wydaje mi się ze tu nie wystarczy jedno zapytanie.

najpierw musze wybrac wszystkie tematy więc wyświetli mi $zmienna= a i $zmienna=b, a pozniej

select min(id) where temat=$zmienna

i teraz mam min id z a i min id z b i moge znaleźć kto je dodał dobazy:)
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Neo... On NIE grupuje! Widziałeś w zapytaniu GROUP BY?Poradzili Ci grupowanie i bardzo dobrze zrobili. Zrób grupowanie po kolumna_2 i wyświetl sobie co Ci pokaże. Grupowanie ma taką specyficzną własność, że wyświetli dla wystąpienia pierwszy rekord tabeli jaki z nim się wiąże patrząc od początku. Jeśli chciałbyś ostatni - byłby mały problem, bo musiałbyś posortować wpierw tabelę zanim ją do grupowania posłałbyś, ale tak to nie problem:
  1. SELECT kolumna_2,kolumna_3 FROM tabela GROUP BY kolumna_2
Problem jest gdybyś miał w tabeli te dane chaotyczne i pierwsze wystąpienie nie byłoby pierwszym postem. Wtedy w części FROM musiałbyś posłać odpowiednio posortowaną tabelę wpierw, ale o tym wspomniałem przy okazji grupowana właśnie dla ostatniego postu w temacie.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
neo1986kk
post
Post #7





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


ale ja nie chce wyswietlac pierwszego tematu tylko policzyc ile tematów dodal uzytkownik.

group by dziala tak ze sprawdza mi ile jest wpisow gdzie dodal uzytkownik, i ok zgadzam sie z tym ze wyswietlił by mi tylko pierwszy, ale num_rows i tak liczy pozostałe.

Ok zrobiłem tak że wybrałem wszystkie tematy, zgrupowałem je i ze zgrupowanych wybrałem takie które dodal uzytkownik, więc


na przykladzie po zgrupowaniu zostają nam 2 tematy

1a
2b

teraz sprawdzam czy uzytkownik ktory dodal to aktualnie zalogowany uzytkownik i zliczam liczbę zwróceń true:)
Dzięki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 12:49