谁能告诉我该如何解决?我的课程顺序是按课程编号递增(例如,CS 20,CS 25,CS 100都是课程编号)。它是在计算第一个数字而不是整数:
----------------------------------------- Course Grade ----------------------------------------- CS 120 Intro to Java Programming A CS 140 Structured Analysis A CS 20 Intro to Computers F CS 25 Intro to Programming B
这里的问题是您的数据库正在执行字符串排序,而不是数字排序。计算机将无法查看该数据并推断出语义排序顺序。字符串排序是通过获取两个字符串,然后比较每个字符直到一个字符先于另一个字符来完成的。因此,在您的示例中,每个课程都以“ CS”开头,但是第四个字符是数字字符(与数字类型不同!)。“ 1”的排序要比“ 2”的排序低,然后在“ 1”的排序中,“ 2”的排序要比“ 4”的排序低,依此类推。
为了解决这个问题,您可能需要将课程号(“ CS 020”)零填充,或者需要使用带有课程号的单独数字列进行排序。