从mysql表的列中选择最大的数字时,效率更高

时间:2019-01-21 05:44:48

标签: mysql

在下表中,无论课程如何,我都需要为学生选择最高的分数。可能的分数是5、4到0。我可以使用基本的select distinct score order by来获得结果。但是该语句扫描整个表并进行排序,这非常耗时。由于该目标只有5个可能的值,因此我相信存在更好的效率解决方案。

CREATE TABLE `course_score` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `create_time` datetime DEFAULT NULL,
  `score` int(5) DEFAULT NULL,
  `course_id` int(11) DEFAULT NULL,
  `student_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100048 DEFAULT CHARSET=utf8;

1 个答案:

答案 0 :(得分:-1)

您可以使用max()聚合函数

pd.read_csv

或者,如果您需要学生明智的最高分,则可以按照以下步骤操作-

df1 = pd.read_csv(
    "E:\Sample\LORD ABBETT REPO SHEET 1-14-19_Notes_2.csv",
    header=1)