Mysql 向查询结果添加值
创建表格Mysql 向查询结果添加值,mysql,Mysql,创建表格tblstud( Student\u IDVARCHAR(15)非空默认值“”, Last\u NameVARCHAR(30)默认为空, First\u NameVARCHAR(30)默认为空, Middle\u NameVARCHAR(30)默认为空, Complete\u AddressVARCHAR(100)默认为空, CP\u学生编号VARCHAR(15)默认为空, 出生日期VARCHAR(30)默认为空, AgeINT(2)默认为空, SexSET('Male','Female
tblstud
(
Student\u ID
VARCHAR(15)非空默认值“”,
Last\u Name
VARCHAR(30)默认为空,
First\u Name
VARCHAR(30)默认为空,
Middle\u Name
VARCHAR(30)默认为空,
Complete\u Address
VARCHAR(100)默认为空,
CP\u学生编号
VARCHAR(15)默认为空,
出生日期
VARCHAR(30)默认为空,
Age
INT(2)默认为空,
Sex
SET('Male','Female')默认为空,
出生地点
VARCHAR(100)默认为空,
Status
VARCHAR(30)默认为空,
Grade\u Level
INT(2)默认为空,
Average_Grade
INT(10)默认为空,
就读小学
VARCHAR(100)默认为空,
ElemSY
VARCHAR(30)默认为空,
High\u School\u Last\u就读
VARCHAR(100)默认为空,
HighSchoolSY
VARCHAR(30)默认为空,
家长/监护人的姓名,
职业
VARCHAR(30)默认为空,
父/监护人的地址VARCHAR(100)默认为空,
家长/监护人的CP编号VARCHAR(15)默认为空,
Section
VARCHAR(5)默认为空,
主键(学生ID
)
)引擎=INNODB默认字符集=1
我想写一个查询,根据他们的平均成绩显示第4-6项记录,并将其标记为“a”部分
我正在使用mysql,下面是我的代码:
UPDATE tblstud SET Section = 'A'
FROM (SELECT * FROM tblstud ORDER BY Average_Grade DESC LIMIT 3 OFFSET)
提前感谢:)试试这个:
UPDATE tblstud t1 INNER JOIN
(SELECT *, @rn := @rn + 1 AS row_num
FROM tblstud CROSS JOIN (SELECT @rn := 0) param
ORDER BY Average_Grade DESC) t2
ON t1.name = t2.name
SET t1.Section = 'A'
WHERE t2.row_num BETWEEN 4 AND 6;
是的,我该怎么办?请发布您的表定义。我可以复制并粘贴到我的sql上吗?错误代码:1054“on子句”中的未知列“t1.name”