Как я могу вернуть счетчик строк из запроса в этой хранимой процедуре? Я пытаюсь реализовать решения, найденные в других столбцах переполнения стека, которые похожи, но каждый результат на выходе является столбцом с подсчетом для каждой отдельной записи. (То есть, один столбец будет выводить 1,1,1,1,1 для каждой строки ...)Возврат ROW COUNT из хранимой процедуры в MySQL (MariaDB)
CREATE PROCEDURE stored_proc()
BEGIN
SET @start_date = LAST_DAY(NOW() - INTERVAL 2 MONTH) + INTERVAL 1 DAY;
SET @end_date = LAST_DAY(NOW() - INTERVAL 1 MONTH);
SELECT users.*, count(DISTINCT mr_rev.id) AS prev_reg
FROM users
INNER JOIN gr_user_group
ON gr_user_group.user_id = wp_users.ID
AND gr_user_group.group_id != 22
AND gr_user_group.group_id = 5
INNER JOIN usermeta ON users.ID = usermeta.user_id
INNER JOIN mr_rev
ON users.ID = mr_rev.users_id AND mr_rev.mr_rev_types_id = 2
INNER JOIN mr_rev mrr
ON users.ID = mrr.users_id
AND mrr.mr_rev_types_id = 2
AND mrr.created_on >= @start_date
AND mrr.created_on <= @end_date
INNER JOIN mr_revs_meta
ON mr_rev.id = mr_revs_meta.mr_rev_id
AND mr_revs_meta.meta_value > @end_date
AND mr_revs_meta.created_at < @end_date
WHERE users.ID NOT IN ('101', '102')
GROUP BY users.ID
HAVING prev_reg > 15;
END;
Есть эффективный способ возврата рассчитывать общий ряд?
EDIT: Return count in Stored Procedure Один из сообщений, которые я безуспешно выполнил.
, если вы находитесь в SQL сервере @@ ROWCOUNT даст –
OUTPUT да гряду с SQL Server, но я сейчас в основном с использованием MySQL, начал о две недели назад! Это сообщение касалось mysql как помечено выше. – choloboy
Я говорю в контексте этого вопроса, работает ли он на SQL Server или MysQL? –