Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql] identyczne daty
beel
post 8.05.2007, 15:48:02
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

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


Jak znaleźć te same daty w kolumnie ?

pzdr
Go to the top of the page
+Quote Post
prond
post 9.05.2007, 08:17:18
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


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;


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
beel
post 9.05.2007, 14:00:28
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

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


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.
Go to the top of the page
+Quote Post
prond
post 9.05.2007, 14:25:40
Post #4





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


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;


Ten post edytował prond 9.05.2007, 14:27:03


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
beel
post 9.05.2007, 21:41:08
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

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


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.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:53