Таблицата няма естествен ред на редовете, някои системи от бази данни всъщност ще откажат вашата заявка, ако не добавите ORDER BY
клауза в края на вашия SELECT
Защо редът се промени?
Тъй като механизмът на базата данни извлича вашите редове във физическия ред, в който идват от хранилището. Някои машини, като SQL Server, могат да имат CLUSTERED INDEX
което налага физически ред, но все още никога не е наистина гарантирано, че ще получите резултатите си в този точен ред.
Клъстерираният индекс съществува най-вече като оптимизация. PostgreSQL има подобен CLUSTER
функция за промяна на физическия ред, но това е тежък процес, който заключва таблицата:http://www.postgresql.org/docs/9.1/static/sql-cluster.html
Как да наложа азбучен ред на редовете?
Добавете ORDER BY
клауза във вашата заявка.
SELECT * FROM table ORDER BY column