Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

테이블에서 특정 학생의 점수를 그룹화하고 각 학생에 대한 별도의 열에 총 점수를 표시하시겠습니까?

<시간/>

마크를 그룹화하려면 MySQL GROUP BY를 사용하십시오. 요약하자면 MySQL sum() 함수를 사용하십시오. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1920
   (
   StudentName varchar(20),
   StudentMarks int
   );
Query OK, 0 rows affected (0.00 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1920 values('Chris',67);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('David',97);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('Chris',57);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('David',45);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('Chris',89);
Query OK, 1 row affected (0.00 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select * from DemoTable1920;

이것은 다음과 같은 출력을 생성합니다 -

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       |           67 |
| David       |           97 |
| Chris       |           57 |
| David       |           45 |
| Chris       |           89 |
+-------------+--------------+
5 rows in set (0.00 sec)

다음은 특정 학생의 점수를 그룹화하는 쿼리입니다. -

mysql> select StudentName,SUM(StudentMarks) as TotalMarks from DemoTable1920
    group by StudentName;

이것은 다음과 같은 출력을 생성합니다 -

+-------------+------------+
| StudentName | TotalMarks |
+-------------+------------+
| Chris       |        213 |
| David       |        142 |
+-------------+------------+
2 rows in set (0.00 sec)