2014-02-14 5 views
0

У меня есть этот SQL-запрос:Дисплей Количество строк в запросе MYSQL

SET @row_num=0; 
SELECT @row_num:[email protected]_num+1 as 'Num', book_title, author_name 
FROM books 

Когда я проверить этот запрос в PHPMyAdmin, он покажет результат отлично, но когда я проверить его в Pentaho консоли пользователя, это показывает ошибку.

Может ли кто-нибудь сказать мне, что не так с моим запросом? Есть ли другой способ, который я могу исправить, чтобы он отлично показал результат в Pentaho?

+0

http://stackoverflow.com/questions/431053/what-is-the-best-way-to-generate-ranks-in-mysql –

ответ

2

Попытка построить один запрос, например:

SELECT 
    @row_num := @row_num + 1 as 'Num', 
    book_title, 
    author_name 
FROM 
    books JOIN (SELECT @row_num := 0 FROM DUAL) as sub; 

Проблема в настоящее время (я думаю), что у вас есть два заявления вместо одного:

SET @row_num=0; 
--^statement #1 

SELECT @row_num:[email protected]_num+1 as 'Num', book_title, author_name 
FROM books; 
--^statement #2 

Так что попробуйте смешать их в одном заявлении, как я уже говорил выше. Для MySQL это юридический синтаксис.

+0

Я стараюсь, как вы показываете, но показывает ошибку не только в Pentaho, но также в phpmyadmin. – crystal

+0

@ user3106393 Вы можете найти описание ошибки/сообщение об ошибке? – BlitZ

+0

Говорят, что у меня ошибка в синтаксисе sql рядом с 'sub'; – crystal

1

Пробуйте этот код.

SET @row_number:=0; 
SELECT @row_number:[email protected]_number+1 AS row_number,book_title, author_name FROM books; 

Это может вам помочь.

Смежные вопросы