SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 25.09.2009 23:57:15

DerSizeS
Участник
Зарегистрирован: 25.09.2009
Сообщений: 2

SELECT / WHERE IS NOT NULL / LIMIT

Собственно структура таблички:


CREATE TABLE `main` (
  `qst` text NOT NULL,
  `ans` text,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
 

Нужно получить 10 записей в которых поле ans не пустое,начиная с указанного номера записи,с конца таблицы.
Записей довольна таки много,так что все их вытащить одним разом и отсеять является неразумным.
Думал использовать следующий запрос:

SELECT * FROM main WHERE ans IS NOT NULL ORDER BY id DESC LIMIT <цифра>,10
 

Но выдает данные с записей и где пустое поле,и где не пустое.

Неактивен

 

#2 27.09.2009 02:04:15

DerSizeS
Участник
Зарегистрирован: 25.09.2009
Сообщений: 2

Re: SELECT / WHERE IS NOT NULL / LIMIT

Разобрался сам.

Неактивен

 

#3 03.11.2010 17:01:49

Dero
Участник
Зарегистрирован: 03.11.2010
Сообщений: 1

Re: SELECT / WHERE IS NOT NULL / LIMIT

а как разобрался**????

Неактивен

 

#4 03.11.2010 17:09:51

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: SELECT / WHERE IS NOT NULL / LIMIT

Ну, очевидно, начал проверять не только на NULL, но и на пустую строку.
Ну и ограничение на id в изначальной задачке было. То есть что-то вида

SELECT ans FROM main WHERE ans != '' AND id < $id ORDER BY id DESC LIMIT 10;

Неактивен

 

Board footer

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