Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+mysql] Proste zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
kris23
Witam!

Wydaje mi się to proste, ale nie mogę sobie poradzić:

Mam tabelę z tagami o następujących polach: `id`, `tag`, `uzycia` (nazwy pól chyba dość samowyjaśniające). Chcę pobrać 30 wierszy o najwyższej wartości pola `uzycia`, ale posortowanych wg pola `tag`. Banalne? Być może. Dodatkowa informacja: tabela zawiera znaki UTF-8. Próbowałem wyciągnąć 30 najwyższych i sortować przez array_multisort(), ale nie radzi on sobie z UTF-8.

Będę wdzięczny za każdą sugestię.

Pozdrawiam,
Krzysztof

wookieb
  1. SELECT a.* FROM (SELECT * FROM tagi ORDER BY uzycia DESC LIMIT 30) a ORDER BY a.tag
phpion
  1. SELECT t.* FROM (SELECT * FROM tabela ORDER BY uzycia DESC LIMIT 30) AS t ORDER BY t.tag ASC


@up:
smile.gif
darko
  1. SELECT * FROM TABELA ORDER BY uzycia DESC, tag LIMIT 0,30

?
// edit
  1. SELECT * FROM TABELA ORDER BY uzycia DESC, tag ASC LIMIT 0,30
kris23
@phpion: mam wrażenie, że Twój pomysł jest poprawny. Dziękuję!

@darko: Twój pomysł nie działa, sortuje wg `uzycia`, a jeśli dwa wiersze mają równą wartość to decyduje pole `tag`, a nie o to mi chodziło.
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.