Я пишу запрос, чтобы найти студентский класс в каждом курсе, который он принимает Мне также нужно отсортировать учащегося в своем заказе на идентификатор, и мне нужно, но дополнительный атрибут, который показывает его заказ на основе его МаркаСортировка таблицы по конкретному атрибуту
ALTER PROC [dbo].[REPStudentMarks]
(
@pClassID int,
@pSectionID int = null
)
AS
--Users.ClassID, Users.SectionID,
SELECT Users.FirstName, courses.Name, sum(UserExams.StudentMark) Mark,
ClassCourses.Minmark, ClassCourses.Maxmark
FROM courses
INNER JOIN Exams ON courses.CourseID = Exams.CourseID
INNER JOINUserExams ON Exams.ExamID = UserExams.ExamID
INNER JOIN Users ON UserExams.UserID = Users.UserID
INNER JOIN ClassCourses ON courses.CourseID = ClassCourses.CourseID
AND Exams.ClassID = ClassCourses.ClassID
AND Exams.CourseID = ClassCourses.CourseID
-- where Users.userID=1
group by Users.FirstName,courses.Name,ClassCourses.Minmark,ClassCourses.Maxmark,Users.ClassID,Users.SectionID
order by mark,Name desc
строки я получаю после Exec этот запрос, как этот
FirstName, cName, sum(UserExams.StudentMark) Mark, Minmark, Maxmark,'Class Rankings', 'SectionRankings'
Сэму, Math, 90.0,50.0,100.0,1,1
Вы можете использовать приписывать, чтобы с помощью и не даете и не ошибки , но я в моем случае мне нужно приказать UserID но второй заказ не через порядок я нужен некоторый алгоритм для сортировки они основаны на их знаке, я имею в виду, что если сам получил самую высокую оценку во всем классе, то рейтинг класса - 1 , а декан получил 5-ю самую высокую оценку в целом классе, тогда рейтинг класса 5 и т. д. – abodvdv
Да, это то, что я пытаясь сказать. Вы получили результаты, заказанные UserID. Теперь, если по некоторому алгоритму вы отсортировали результат на основе Marks, тогда упорядочение по UserID не имеет смысла. правильно ? Вы можете заказать по Marks и добавить столбец добавления в результирующий набор 'rank', который в основном увеличивает значение для каждой строки (s.no вы говорите) – Dusht