Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wybrać ostatnią wartość z kolumny i ją powtórzyć w tej kolumnie.
Tommot
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.01.2016

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


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?





Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Brakuje klauzuli LIMIT.


--------------------
Go to the top of the page
+Quote Post
javafxdev
post
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

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


Pewnie że nie działa bo masz ; po pierwszym select - średnik daj na końcu
Go to the top of the page
+Quote Post
Tommot
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.01.2016

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


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;
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://dev.mysql.com/doc/refman/5.7/en/union.html
I poczytaj o znaczeniu nawiasow w kontekscie ORDER


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Tommot
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.01.2016

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


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);
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 Aktualny czas: 21.08.2025 - 22:59