SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.05.2014 18:14:25

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

выборка через один

Помогите, пожалуйста

Таблица
id=1
id=2
id=3
id=5
id=6
id=8

и тд

Нужно сделать выборку чтобы сначала выбирались через один с первого
id=1
id=3
id=6

а потом со второго
id=2
id=5
id=8


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#2 24.05.2014 23:35:04

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: выборка через один

Да, отсутствие rownum в Mysql иногда печалит, что говорить sad.

Если id-шники вставлены по порядку, то можно как-то так.

Код:

mysql> create table t_7091(id int);
Query OK, 0 rows affected (0.27 sec)

mysql> insert into t_7091(id) values(1),(2),(3),(5),(6),(8);
Query OK, 6 rows affected (0.00 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql> select id from (SELECT t.*,@rownum := @rownum + 1 AS rank FROM t_7091 t,(SELECT @rownum := 0) r) t1 where rank%2=0;
+------+
| id   |
+------+
|    2 |
|    5 |
|    8 |
+------+
3 rows in set (0.00 sec)

mysql>  SET @i = 0; SELECT id FROM (SELECT @i := @i + 1 AS i, id FROM t_7091) a WHERE a.i%2=0;
Query OK, 0 rows affected (0.00 sec)

+------+------+
| i    | id   |
+------+------+
|    2 |    2 |
|    4 |    5 |
|    6 |    8 |
+------+------+
3 rows in set (0.00 sec)

Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 26.05.2014 02:37:21

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: выборка через один

Большое спасибо. Попробую


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson