Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
glowa
Wyjasnie to na przykladzie:
mam jakas tabele iles tam pol no i interesujace nas pole nr powiedzmy cos takiego:

nr dane1 dane2 ...
2 dane2_1 .......
2 dane2_2 .....
2 dane2_3 .......
3 dane3_1 ......
3 dane3_2 .....
6 dane6_1 .....
6 dane6_2 .....
6 dane6_3 ......
...itd

jak skonstruowac zapytanie zeby pobierany byl tylko pierwszy rekord konkretnego numeru, czyli zeby wynikiem byly pola:

2 dane2_1
3 dane3_1
6 dane6_1

nie ma sensu tworzyc petli dla kazdego numeru (nr) bo to by bylo nieefektywne (dla kilkuset numerow)

wiec jak inaczej mozna b to rozwiazac
essey
  1. SELECT * FROM baza WHERE dane1 LIKE '%_1'


I teraz, jeżeli w rekodzie znajdzie się na końcu _1 to pobierze dane w zapytaniu
spenalzo
Może tak?
  1. SELECT DISTINCT kolumna FROM tabela
FiDO
Pierwszy rekord konkretnego numeru... tzn? Wg czego stwierdzamy kolejnosc posrod danego numeru ? Wg ID ?

Jesli tak to mozna to zrobic tak:
  1. SELECT a.*
  2. FROM tabela a
  3. LEFT JOIN tabela b ON (a.nr = b.nr AND a.id > b.id)
  4. WHERE b.id IS NULL
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.