Вот такая сортировка :(

GrayMaster

Новичок
Вот такая сортировка :(

Добрый день ! Подскажите пожалуйста как средствами MySQL можно сделать вот такую сортировку:
Есть таблица:
Код:
id|table|keyword
----------------
3 |1    |one
2 |1    |two
5 |2    |three
6 |2    |four
Нужно отсортировать следющим образом:
первый ряд из table = 1
первый ряд из table = 2
второй ряд из table = 1
второя ряд из table =2

получить результат:
Код:
id|table|keyword
----------------
3 |1    |one
5 |2    |three
2 |1    |two
6 |2    |four
Т.е. "смешать" как-бы две таблицы...

Спасибо.
 

Crazy

Developer
А дозволено ли будет осведомиться, для решения какой задачи потребовалось столь оригинальное изощрение?
 

GrayMaster

Новичок
Дозволено :)
Есть таблица:
Код:
id | keyword |
--------------
1  | bla-bla |
2  | buagga  |
3  | chichui |
5  | guga b  |
6  | nuram   |
7  | jeekee  |
Нужно выбрать по 2 ряда сверху и снизу рядом с id = 5, причем отсортировав "смешивая" верхние и нижние ряды - через один.
т.е. получить результат:
Код:
id | keyword |
--------------
3  | chichui |
6  | nuram   |
2  | buagga  |
7  | jeekee  |
 

Crazy

Developer
Что мешает без извращений выбрать данные с небольшим запасом из перемешать на клиенте?
 

GrayMaster

Новичок
Ну вот я делаю такую выборку:
Код:
SELECT *, '1' AS `table` FROM (SELECT * FROM `keywords` WHERE `id`<4 ORDER BY `id` DESC LIMIT 0, 2) AS `table1` UNION ALL
SELECT *, '2' AS `table` FROM (SELECT * FROM `keywords` WHERE `id`>4 ORDER BY `id` ASC LIMIT 0, 2) AS `table2`
Получаю нужные ряды - но не отсортированые.
Предлагаешь положить результат в массив и сортировать их в PHP ?
 

GrayMaster

Новичок
Конечно справится :) Я пологаю что это можно сделать в MySQL, и возможно быстрее... или нестоит ? :)
Рядов не 4, а 30 на самом деле.
 

Фанат

oncle terrible
Команда форума
GrayMaster
Я пологаю что это можно сделать в MySQL, и возможно быстрее
быстрее, чем что?

Chusha
не надо писать глупостей.
вводить отдельную нумерацию и поддерживать её только для того, чтобы сделать дурацкий запрос - это слишком
 

GrayMaster

Новичок
чтобы сделать дурацкий запрос
Почему запрос дурацкий ?? Если мне нужны данные именно в таком виде, почему же это дурацкий запрос ? это дурачкий вид данных :D
Но в данном случае именно это мне и нужно.
 
Сверху