Mysql 从两个表中提取数据?
我必须找出成绩最高的学生的名字吗?我的两张桌子都是-Mysql 从两个表中提取数据?,mysql,Mysql,我必须找出成绩最高的学生的名字吗?我的两张桌子都是- CREATE TABLE student(Fields_ID INT, Name VARCHAR(20)); INSERT INTO student(Fields_ID,Name) VALUES(30,'JYOTI'); INSERT INTO student(Fields_ID,Name) VALUES(31,'KIRTI'); INSERT INTO student(Fields_ID,Na
CREATE TABLE student(Fields_ID INT, Name VARCHAR(20));
INSERT INTO student(Fields_ID,Name) VALUES(30,'JYOTI');
INSERT INTO student(Fields_ID,Name) VALUES(31,'KIRTI');
INSERT INTO student(Fields_ID,Name) VALUES(32,'YOGITA');
INSERT INTO student(Fields_ID,Name) VALUES(33,'RASHMI');
INSERT INTO student(Fields_ID,Name) VALUES(34,'NUPUR');
SELECT * FROM student;
CREATE TABLE Marks(Fields_ID INT, Student_ID INT NOT NULL,marks INT NOT NULL);
INSERT INTO Marks(Fields_ID,Student_ID,Marks) VALUES (30,40,100);
INSERT INTO Marks(Fields_ID,Student_ID,Marks) VALUES (31,41,88);
INSERT INTO Marks(Fields_ID,Student_ID,Marks) VALUES (32,42,72);
INSERT INTO Marks(Fields_ID,Student_ID,Marks) VALUES (33,43,33);
INSERT INTO Marks(Fields_ID,Student_ID,Marks) VALUES (34,44,15);
SELECT * FROM Marks;
我试图从下面的代码中返回所需的out,但它不会返回相同的结果。我是MySql的初学者,所以我无法找出问题所在
SELECT student.name,Marks.marks
FROM student INNER JOIN Marks
ON student.Fields_ID=Marks.Fields_ID;
这是期望的输出吗
编辑:如果只需要一个结果,请将限制1添加到查询中
这是期望的输出吗
编辑:添加限制1以查询是否只需要一个结果。学生ID链接到什么?返回的是什么数据?这就是你需要的吗学生ID链接到什么?返回的是什么数据?这就是你需要的吗?我想你指的是“订单依据”而不是“分组依据”我想你指的是“订单依据”而不是“分组依据”
SELECT student.name,Marks.marks
FROM student INNER JOIN Marks
ON student.Fields_ID=Marks.Fields_ID
where Marks.marks = (select max(marks) from Marks);
SELECT student.name,Marks.marks
FROM student
INNER JOIN Marks
ON student.Fields_ID=Marks.Student_ID
ORDER BY Marks.marks DESC
LIMIT 1
SELECT student.name,Marks.marks
FROM student INNER JOIN Marks
ON student.Fields_ID=Marks.Fields_ID
ORDER by marks DESC;