Думаю, что все знают, что выводит данный запрос. А как применить команду, чтобы запрос подобрал каждую (допустим) третью строку при условии, что id могут быть разные и не привяжешь как
SELECT*,(@ORDER:=@ORDER+1)AS order_id FROM tmp HAVING order_id%3=0;
?
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
LIME
Отправлено: 18 Ноября, 2012 - 19:44:13
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
при условии непрерывных id?
EuGen
Отправлено: 18 Ноября, 2012 - 19:45:41
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
При условии любых id (важно лишь то, что "каждая третья" - имеется ввиду по возрастанию id; ну, или не id - а поля, соответствующего _rowid)
Запрос выше не имею возможности проверить, но думаю, если и ошибся, то в начальном значении (тогда отсев пойдет не с 1-й реальной строки)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
LIME
Отправлено: 18 Ноября, 2012 - 20:36:20
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
LIME пишет:
а если не 1 не кратен 3ем?
Как это?
Посмотрите внимательнее - на кратность не проверяется ни одно из полей в таблице. На кратность проверяется переменная, которая определена вне основного запроса и которая увеличивается на +1 для каждой строке (@order:=@order+1) - так образом, псевдополе order_id есть не что иное, как порядковый номер строки в выборке, то есть он - последователен. Именно поэтому можно указать HAVING order_id%3=0 - ведь номер будет всегда идти по порядку.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
antobra
Отправлено: 20 Ноября, 2012 - 10:59:49
Посетитель
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.