Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wybrać ostatnią wartość z kolumny i ją powtórzyć w tej kolumnie.
Forum PHP.pl > Forum > Bazy danych > MySQL
Tommot
Mam 1 tabele z 2 kolumnami, id zmienne (auto increment) oraz column1 ( double).
+----+----------+
| id | column1 |
+----+----------+
| 1 | 0.1111 |
| 2 | 0.2222 |
| 3 | 0.3333 |
| 4 | 0.4444 |
| . | 0.5555 |
+----+-----------+
Po zapytaniu chciałbym otrzymać column1 oraz column1 =id(last/max)
Otrzymać to:
+----------+
| column1 |
+----------+
| 0.1111 |
| 0.2222 |
| 0.3333 |
| 0.4444 |
| 0.5555 |
| 0.5555 |
+----+-----+
Moje zapytanie to:

SELECT column1 FROM table;
union all
SELECT column1 FROM table
ORDER BY id DESC 1;

Zapytanie nie działa tak jak bym chciał bo otrzymuje to:
+----------+
| column1 |
+----------+
| 0.1111 |
| 0.2222 |
| 0.3333 |
| 0.4444 |
| 0.5555 |
+----+-----+
Brakuje mi ostatniej liczby (0.5555)
Problem chyba polega na tym że powtarzam tą samą wartość (0.5555) z column1.
Jak poprawnie napisać zapytanie?





trueblue
Brakuje klauzuli LIMIT.
javafxdev
Pewnie że nie działa bo masz ; po pierwszym select - średnik daj na końcu
Tommot
To poniższe zapytanie bez średnika i z Limit także nie działa.

SELECT column1 FROM table
union all
SELECT column1 FROM table
ORDER BY id DESC
LIMIT 1;
nospor
http://dev.mysql.com/doc/refman/5.7/en/union.html
I poczytaj o znaczeniu nawiasow w kontekscie ORDER
Tommot
Dziękuje doczytałem i działa ale teraz chciałbym dalej rozwinąć moje pytanie.
Tym razem mam jedną kolumnę więcej czyli id zmienne (auto increment),column0 oraz column1.

+----+--------+----------+
| id | column0| column1 |
+----+--------+----------+
| 1 | 1.1111 | 0.1111 |
| 2 | 1.2222 | 0.2222 |
| 3 | 1.3333 | 0.3333 |
| 4 | 1.4444 | 0.4444 |
| . | 1.5555 | 0.5555 |
+--+---------+-----------+

Chciałbym otrzymać to:
+--------+----------+
| column0| column1 |
+--------+----------+
| 1.1111 | 0.2222 |
| 1.2222 | 0.3333 |
| 1.3333 | 0.4444 |
| 1.4444 | 0.5555 |
| 1.5555 | 0.5555 |
+--+---------+-----------+

Jak mogę połączyć te dwa zapytania w jedno?

SELECT column0 FROM table;

oraz

SELECT column1 FROM table where id >1;
union all
(SELECT column1 FROM table
ORDER BY id DESC 1);
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.