2014-02-03 5 views
1

Я хочу отправить запрос выбора на запрос выбора и затем подсчитать результат.Выбор и подсчет внутри select в mysql

То, что я хочу сделать что-то вроде этого:

SELECT `word_id`, SUM(`is_core`) as `cores` FROM `table` GROUP BY `word_id` ORDER BY `cores` DESC; 

А потом я хочу, чтобы отправить запрос на выборку в запрос выше. Что-то вроде этого:

SELECT * FROM `THE QUERY ABOVE` WHERE `cores` >1; 
SELECT FOUND_ROWS(); 

Любая помощь будет оценена по достоинству.

+0

Вам нужно всего лишь количество найденных_роков? – Alexander

ответ

0

Попробуйте это .. это количество от общей записи.

Select count(word_id) from (SELECT `word_id`, SUM(`is_core`) as `cores` 
FROM `table` GROUP BY `word_id` ORDER BY `cores` DESC having SUM(`is_core`) > 1) 
+0

Я получаю эту ошибку sql: # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'SUM ('is_core')> 1)' в строке 2 – Alberto

0

Почему вы используете вложенные запросы? Вы можете получить один и тот же результат с одним запросом.

SELECT `word_id`, SUM(`is_core`) as `cores` 
FROM `table` 
GROUP BY `word_id` DESC 
HAVING `cores` > 1 
ORDER BY `cores`; 
+0

Я получаю эту ошибку sql: # 1064 - У вас есть ошибка в синтаксисе SQL ; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с «ИБП». 1 LIMIT 0, 30 'в строке 1 – Alberto

+0

@Alberto ok исправлено это – Ergec

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