Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вызвать 80% из базы


Автор: NNaarreekk 20.3.2009, 22:26
нужно из базы вызвать 80% всех записей!
Я так думал, но как показал эррор я ошибался!
Код

SELECT * FROM `xxx` WHERE `cat` = '5' ORDER BY rand() DESC LIMIT 1,count(*)*0.8

Буду очень рад примеру!

Автор: Akina 21.3.2009, 00:28
попробуй использовать prepare/execute

Автор: NNaarreekk 21.3.2009, 00:30
Цитата(Akina @  21.3.2009,  02:28 Найти цитируемый пост)
попробуй использовать prepare/execute 

А это PHP или MySQL?

Автор: IZ@TOP 21.3.2009, 00:41
Цитата(Akina @  21.3.2009,  01:28 Найти цитируемый пост)
попробуй использовать prepare/execute 

Это вы о чем?


NNaarreekk, я бы сделал так:

Код

SELECT COUNT(*) FROM table WHERE 1 AND <condition>;

Помещаем значение в переменную $a помножив на 0.8. Делаем следующую выборку

Код

SELECT * FROM table WHERE 1 AND <condition> LIMIT 0, ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ_$a

Автор: NNaarreekk 21.3.2009, 11:12
IZ@TOP, а не получится одним запросом?
Скажем:
Код

SELECT * FROM table WHERE 1 AND <condition> LIMIT 0,    
(SELECT COUNT(*) FROM table WHERE 1 AND <condition>)*0.8;


???

Автор: skyboy 21.3.2009, 11:58
Цитата(NNaarreekk @  21.3.2009,  10:12 Найти цитируемый пост)
IZ@TOP, а не получится одним запросом?

Цитата(Akina @  20.3.2009,  23:28 Найти цитируемый пост)
попробуй использовать prepare/execute 

http://dev.mysql.com/doc/refman/5.1/en/prepare.html
http://dev.mysql.com/doc/refman/5.1/en/execute.html

Автор: IZ@TOP 21.3.2009, 12:39
NNaarreekk, Если и есть способ, то он будет медленнее этих двух.

Автор: NNaarreekk 21.3.2009, 13:28
Цитата(skyboy @  21.3.2009,  13:58 Найти цитируемый пост)
prepare
execute 

Можно пример а то что-то не получается?


Цитата(IZ@TOP @  21.3.2009,  14:39 Найти цитируемый пост)
Если и есть способ, то он будет медленнее этих двух. 

Просто получается очень много запросов.

Автор: Zmiuko 23.3.2009, 15:30
Попробуй еще так. Применить функцию similar_text() указав через if или как-то там еще процент сходства  smile 

Автор: NNaarreekk 23.3.2009, 15:49
Zmiuko, спсибо, но кажется ты не понял вопрос.
Или я не понял ответ smile 

Что нужно с чем сравнивать?
На РНР это можно делать, я хотел именно на MySQL.

Автор: Zmiuko 23.3.2009, 16:02
Извиняюсь )) мускул не моя епархия )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)