Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] identyczne daty
Forum PHP.pl > Forum > Bazy danych
beel
Jak znaleźć te same daty w kolumnie ?

pzdr
prond
Nie jestem pewien, o co dokładnie to chodzi. Jeżeli chcesz znaleźć powtarzające się daty to tak:
  1. SELECT
  2. DATA,
  3. count(*)
  4. FROM tabela GROUP BY
  5. DATA
  6. HAVING count(*) > 1;
beel
Hmm chodzi mi dokładnie o to aby wyświetlić imiona osób gdzie data urodzenia jest identyczna. Tutaj mi zlicza ile jest takich osób, a ja chcialbym wyswietlić imiona ich.
prond
Zapytanie, które podałem wcześniej wybiera wszystkie daty, które występują w tabeli co najmniej dwa razy.
Mając te daty po prostu dołączasz imiona osób:

  1. SELECT
  2. tabela.DATA,
  3. imie
  4. FROM tabela LEFT JOIN ( SELECT DATA FROM tabela GROUP BY DATA HAVING count(*) > 1) AS tt ON (tabela.DATA = tt.DATA);


lub tak (w MySQL):

  1. SELECT
  2. tabela.DATA,
  3. GROUP_CONCAT (imie SEPARATOR ', ')
  4. FROM tabela LEFT JOIN ( SELECT DATA FROM tabela GROUP BY DATA HAVING count(*) > 1) AS tt ON (tabela.DATA = tt.DATA)
  5. GROUP BY DATA;
beel
Cytat(prond @ 9.05.2007, 15:25:40 ) *
Zapytanie, które podałem wcześniej wybiera wszystkie daty, które występują w tabeli co najmniej dwa razy.
Mając te daty po prostu dołączasz imiona osób:

  1. SELECT
  2. tabela.DATA,
  3. imie
  4. FROM tabela LEFT JOIN ( SELECT DATA FROM tabela GROUP BY DATA HAVING count(*) > 1) AS tt ON (tabela.DATA = tt.DATA);


Niestety zapytanie to nie działa jak należy, bo wyświetla WSZYSTKIE imiona a obok nich daty. A chodzi o to aby wyświetlić tylko te imiona gdzie data jest identyczna.
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.