MySQL сложный запрос - PullRequest
       6

MySQL сложный запрос

0 голосов
/ 17 февраля 2011

У меня есть таблица, которая содержит ключевое слово_id, site_id, процент.

Теперь я использую:

SELECT   *
FROM     keyword_relations
WHERE    keyword_id = "game"
ORDER BY percentage DESC,
LIMIT    {$page}, {$limitperpage}

Теперь давайте скажем на странице 26 в соответствии с этим SQL веб-сайт под названием "пример".com "появляется.

Теперь давайте скажем, что я хочу получить номер строки, где ключевое слово на example.com, как я могу это сделать.

Например, если example.comзанял 5-е место на странице 6 по ключевому слову "examples" и как получить номер страницы, если у меня есть веб-сайт "example.com" и ключевое слово "examples" с другой страницы.

Я пытаюсь найтиномер страницы, на которой должен отображаться веб-сайт, путем деления номера строки рейтинга веб-сайта по ключевому слову (отсортированному по вхождению ключевых слов) на limit_per_page.

Ответы [ 2 ]

3 голосов
/ 17 февраля 2011
SELECT   *, @row:=@row+1 AS Row_Number
FROM     keyword_relations, (SELECT @row:=0) r
WHERE    keyword_id = "game"
ORDER BY percentage DESC,
LIMIT    {$page}, {$limitperpage}

Я думаю, учитывая , что я мог найти

Примечание. Измените присвоение :=0 на значение {$page}*{$limitperpage}

.

EDIT

Если вам интересна страница, попробуйте следующее:

SELECT    *, FLOOR((@row/5)+1) AS Page_Number, @row:=@row+1 AS Row_Number
FROM      keyword_relations,
          (SELECT @row:={$page}*{$limitperpage}) r
WHERE     keyword_id = "game"
ORDER BY  percentage DESC
LIMIT     {$page},{$limitperpage}
1 голос
/ 17 февраля 2011
$per_page_limit = 20;
$sql = "SELECT count(k_id) as k_id FROM keywords_relations WHERE k_id = '{$row['k_id']}' AND percent >= '{$row['percent']}'";
$data = mysql_fetch_array(mysql_query($sql));
$k_ids = $data['k_id'] + 1;
//is_int($k_page) ? floor($k_page) : floor($k_page) + 1;
if($k_ids % $per_page_limit ){
    $k_page = floor($k_ids/$per_page_limit) + 1;         
} else {
    $k_page = $k_ids/$per_page_limit;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...