Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Komenda do sortowania tabeli?
lesz735
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 26.12.2014

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


Polecenie SELECT*FROM tabela ORDER BY nazwisko zwraca wysortowane wyniki. Chciałbym posortować tabelę żródłową czy jest na to jakoś komenda?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SpiritCode
post
Post #2





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


  1. ALTER TABLE tablename ORDER BY columnname ASC;

Pamiętaj, że każda modyfikacja danych nie spowoduje że znów się posortują. Chyba, że napiszesz do tego procedurę (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
lesz735
post
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 26.12.2014

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


Cytat(SpiritCode @ 18.01.2015, 18:06:33 ) *
  1. ALTER TABLE tablename ORDER BY columnname ASC;

Dzięki bardzo!! (IMG:style_emoticons/default/smile.gif) . Prosta odpowiedź na moje pytanie. Działa poprawnie, sortuje tabelę źródłową a nie wyniki:
mysql> SELECT *FROM czas1;
+----+-----------+-------------+
| id | imie | nazwisko |
+----+-----------+-------------+
| 7 | Adam | Małysz |
| 8 | Artur | Wielki |
| 9 | Sebastian | Małolepszy |
| 10 | Bernard | Aautorski |
+----+-----------+-------------+
4 rows in set (0.00 sec)

mysql> ALTER TABLE czas1 ORDER BY nazwisko;
Query OK, 4 rows affected (0.20 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM czas1;
+----+-----------+-------------+
| id | imie | nazwisko |
+----+-----------+-------------+
| 10 | Bernard | Aautorski |
| 9 | Sebastian | Małolepszy |
| 7 | Adam | Małysz |
| 8 | Artur | Wielki |
+----+-----------+-------------


Cytat(Crozin @ 18.01.2015, 20:23:10 ) *
1. W SQL-u o ile nie podasz jawnie sortowania (klauzula ORDER BY) należy założyć, że wyniki zwrócone są w kompletne losowej kolejności.

Chyba niekoniecznie losowy bo po zapytaniu o rekord 3 takiego wyniku się spodziewałem:

// to do tej tabeli po komendzie ALTER.

mysql> SELECT * FROM czas1 LIMIT 2,1;
+----+------+----------+
| id | imie | nazwisko |
+----+------+----------+
| 7 | Adam | Małysz |


Dziękuję za zainteresowanie moim tematem.


Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 04:18