【发布时间】:2019-11-05 15:51:34
【问题描述】:
我必须为我的视图生成行号,这些行号将在分组后重置。以下 SQL 语句对我有用。
SELECT st_id, class, percentage,
(CASE section
WHEN @cur_sect
THEN @curRow := @curRow + 1
ELSE @curRow := 0 END) + 1 AS position,
@cur_sect := section AS Section
FROM SUM_MARKS,
(SELECT @curRow := 0, @cur_sect := '') counter
ORDER BY class, section;
当尝试使用 phpmyadmin 保存它时,会出现警告,它包含变量。因此需要编写一个可以与其他列一起使用的函数或过程。像 row_number() sql-server 中的内置函数。
【问题讨论】:
-
您不能从函数返回结果集,也许您应该查看触发器。而 mysql 确实有 row_number(版本 8 或更高版本)。
标签: mysql phpmyadmin