学年上位 25 人の学生のストアド プロシージャを作成する方法。SO Proc は、パラメータとして年を取得し、学生 ID、その年のマークの合計を返す必要があります
Alter PROCEDURE getstudents
(
@year INT
)
AS
BEGIN
SELECT student-name FROM tbl_Students WHERE year=@year
Thanks
学年上位 25 人の学生のストアド プロシージャを作成する方法。SO Proc は、パラメータとして年を取得し、学生 ID、その年のマークの合計を返す必要があります
Alter PROCEDURE getstudents
(
@year INT
)
AS
BEGIN
SELECT student-name FROM tbl_Students WHERE year=@year
Thanks
これを試して、
ALTER PROCEDURE getstudents
@year INT
AS
BEGIN
SELECT TOP 25 [student-name]
FROM tbl_Students WHERE year=@year
END
これを試してみてください -
ALTER PROCEDURE dbo.getstudents
@year INT
AS
BEGIN
SELECT TOP 25
student_name
, student_id
, marks = SUM(marks)
FROM dbo.tbl_Students
WHERE [Year] = @year
GROUP BY
student_name
, student_id
ORDER BY marks DESC
END
またはこれ -
ALTER PROCEDURE dbo.getstudents
@year INT
, @count INT
AS
BEGIN
SELECT student_name, student_id, marks
FROM (
SELECT
student_name
, student_id
, marks
, rn = ROW_NUMBER OVER (ORDER BY marks DESC)
FROM (
SELECT
student_name
, student_id
, marks = SUM(marks)
FROM dbo.tbl_Students
WHERE [Year] = @year
GROUP BY
student_name
, student_id
) t
) t2
WHERE t2.rn <= @count
END
正しい方法でパラメーターを渡しました。
ここで、必要な情報について SP 内でクエリを実行する必要があります。
したがって、最後の選択では、抽出した結果が表示されます。
明らかに、ディーラーの学生、学生 i などについて、ここに自分の db モデルを記述します。