2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
CREATE DEFINER=root
@localhost
PROCEDURE countSoreP
()
BEGIN
declare less60 smallint default 0; /*x <= 60*/
declare b60a70 smallint default 0;
declare b70a80 smallint default 0;
declare b80a90 smallint default 0;
declare more90 smallint default 0;
declare countcno char(4) default '****';
SELECT cno INTO countcno FROM course WHERE cname = '離散數(shù)學(xué)';/*確定course表中有離散數(shù)學(xué)這門課*/ SELECT COUNT(*) INTO less60 FROM sc WHERE cno = '8' AND grade < 60; SELECT COUNT(*) INTO b60a70 FROM sc WHERE cno = '8' AND grade >= 60 AND grade < 70; SELECT COUNT(*) INTO b70a80 FROM sc WHERE cno = '8' AND grade >= 70 AND grade < 80; SELECT COUNT(*) INTO b80a90 FROM sc WHERE cno = '8' AND grade >= 80 AND grade < 90; SELECT COUNT(*)INTO more90 FROM sc WHERE cno = '8' AND grade >= 90; create table countScore( scorestage char(10), number smallint); insert into countscore values('x<60', less60); insert into countscore values('60<=x<70', b60a70); insert into countscore values('70<=x<80', b70a80); insert into countscore values('80<=x<90', b80a90); insert into countscore values('x>=90', more90);
END

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
數(shù)據(jù)庫(kù)是sqlserver,那假設(shè)變成語(yǔ)言是C#好了。數(shù)據(jù)庫(kù)這里假設(shè)有2張表:Student(學(xué)生)和Course(課程),
Course表中設(shè)置Student為外鍵,比如學(xué)生A選擇課程1,那么Course表下就產(chǎn)生一條數(shù)據(jù)記錄(學(xué)生A, ‘課程1’);
同理學(xué)生BCDEF選擇課程12345,那么對(duì)應(yīng)Course表下就產(chǎn)生這么幾條記錄:
(學(xué)生B,‘課程2’),(學(xué)生C,‘課程3’),(學(xué)生D,‘課程3’),
(學(xué)生E,‘課程4’),(學(xué)生F,‘課程5’),
最后做統(tǒng)計(jì)處理,統(tǒng)計(jì)每個(gè)CourseName(課程名)被選擇的次數(shù),即Select sum(*) from Course where CourseName=''課程x‘’。
Course
|- Student
|- CourseName
前端選課的時(shí)候,需要根據(jù)學(xué)生的Id,先得到學(xué)生已經(jīng)選擇哪些課程,再?zèng)Q定學(xué)生還能選擇哪些,以及還能選擇多少就好了。
- 2 回答
- 0 關(guān)注
- 799 瀏覽
添加回答
舉報(bào)