Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Zapisanie z tabeli tymczasowej
php11
post
Post #1





Grupa: Zarejestrowani
Postów: 218
Pomógł: 5
Dołączył: 11.02.2011

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


Cześć,

wyszukuję zduplikowane dane

  1. SELECT id, alias, alias_liczba, ROW_NUMBER() OVER (PARTITION BY alias ORDER BY id) AS numer_wystapienia
  2. FROM tabela;


Z tego zapytania otrzymuję elegancko wynik id | alias | alias_liczba | numer_wystapienia - tu wszystko jest OK

Jednak nie potrafię zapisać numer_wystąpienia do alias_liczba: wszędzie dodaje 1

  1. UPDATE tabela SET alias_liczba = (SELECT ROW_NUMBER() OVER (PARTITION BY alias ORDER BY id) AS numer_wystapienia)



Jak to wykonać?
Go to the top of the page
+Quote Post
Salvation
post
Post #2





Grupa: Zarejestrowani
Postów: 412
Pomógł: 74
Dołączył: 15.07.2014

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


W tym drugim zapytaniu, z UPDATE, nie widzę klauzuli FROM, może dlatego masz "wszędzie 1" :)

Poza tym jeśli to jest ta sama tabela, to możesz dostać błąd.
Lepszym rozwiązaniem będzie utworzenie i skorzystanie z tymczasowej tabeli pomocniczej.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.05.2026 - 16:26