Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] kilka pytań
Forum PHP.pl > Forum > Bazy danych > MySQL
Spirit86
Witam.
Dziś chciałem napisać kolejny zbiorczy post z pytaniami winksmiley.jpg.

Przejdźmy od razu do rzeczy:

1) chcę pobrać rekordy z tabeli, które są poukładane w następujący sposób:

posegraguj tak rekordy, aby jako pierwsze były te, gdzie pole stick jest równe 1, po czym segreguj po kolumnie date
  • stick przyjmuje wartosci 0, 1
  • date jest typem UNIX_TIMESTAMP
SQL:
  1. SELECT *
  2. FROM `tabela` ORDER BY `stick`, `date` DESC LIMIT 0, 30

problem w tym, że to nie działa, rekory są układane tak, że te z polem stick = 1 są na samym końcu.


2) mam tabelę, która wygląda tak:

rank - > id | p_min | name
oraz tabelę
user - > id | p_lev

i teraz chcę stworzyć cos takiego:

pobierz taką rangę, która jest najbliższa polu p_lev danego użytkownika.

Przykładowe rekordy rank:
1 | 0 | rank 0
2 | 10 | rank10
3 | 15 | rank15
4 | 30 | rank30


Rekordy użytkowników

1 | 5
2 | 20
3 | 35

I teraz chcę, aby dopasować p_lev do p_min (minimalna liczba p_lev na daną rangę, czyli pobieramy wartość gdzie p_lev jest najbliższa polu p_min)
przykład:
użytkownik - > ranga

1->rank0
2-> rank15
3->rank30


Pozdrawiam
sobstel
nie mam za duzo czasu teraz dlatego odpowiem tylko na pierwsze pytanie:
powinno byc:

  1. SELECT *
  2. FROM `tabela` ORDER BY `stick` DESC, `date`


to stick chcesz poukladac malejąco, a nie date ;-)
Spirit86
hehe, no to pierwszy problem rozwiazany, dzięki.

Ale pozostaje drugi, ten trudniejszy winksmiley.jpg
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.