parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Думаю - запрос очень тяжелый. Как сделать проще?

VRuzin 27.12.2006 15:44

SELECT
	(Select
			Sum(1)
	 From
	 		`humors` p
	 Where
	 		p.id<=p1.id) AS num_page,
	p1.id AS id
FROM
	`humors` AS p1
where
	(Select
			Sum(1)
	 From
	 		`humors` p
	 Where
	 		p.id<=p1.id) 
ORDER BY p1.id;
Смысл - пронумеровать строки...

Это для простоты, я такой запрос поставил, на самом деле, мне нужно вывести каждую 30-ую строку и пронумеровать ИХ! Для этого, ставлю вот такой запрос:
SELECT
	CEILING((Select
			Sum(1)
	 From
	 		`humors` p
	 Where
	 		p.id<=p1.id)/30) AS num_page,
	p1.id AS id
FROM
	`humors` AS p1
where
	(Select
			Sum(1)
	 From
	 		`humors` p
	 Where
	 		p.id<=p1.id) mod 30=1 
ORDER BY p1.id;
Уверен, что можно проще и более "лёгким" запросом. Есть предложения?

  • Думаю - запрос очень тяжелый. Как сделать проще?, VRuzin 27.12.2006 15:44