Есть ли рабочая опция, которая может выбрать наименьшее число для моего случая? - PullRequest
0 голосов
/ 23 апреля 2019

У меня в настоящее время проблема с выбором наименьшего процента (или показателей, если есть аналогичные) и выкладываю его с 5 столбцами.Два варианта, которые я пытался выдать мне ошибки, и я не уверен, что мой макет просто неправильный или мне нужно сгруппировать их по-разному!

До сих пор я пытался выбрать наименьшее число, просто используя "min«который по-прежнему перечисляет все процентные оценки (вместо выбора наименьшего) и использует опцию« asc », которая выдает мне ошибку.

Одна опция:


    select name, minor, [Course Name], [Courses Taken t].Department, [percent score] , GPA
    from [Student Information t], [Courses Taken t], [Courses t]
    where name like 'Insert Name' 
    and [Student Information t].studentID=[Courses Taken t].studentID 
    and [Student Information t].Minor is not null
    group by [Percent Score] order [Percent Score] ASC limit 1

Результат:

Error: Msg 102, Level 15, State 1, Line 6
Incorrect syntax near 'Percent Score'.

Другой вариант:

select name, minor, [Course Name], [Courses Taken t].Department, min([percent score]) as [percent score], GPA
from [Student Information t], [Courses Taken t], [Courses t]
where name like 'Insert Name' 
and [Student Information t].studentID=[Courses Taken t].studentID 
and [Student Information t].Minor is not null
group by name, minor, [Course Name], [Courses Taken t].Department, GPA
Result: listed all percent scores (instead of the lowest)

Я хочу, чтобы результаты дали мне наименьшее число.В этом случае есть два одинаковых числа, поэтому мне бы хотелось, чтобы они оба были в списке, но я не уверен, что я делаю неправильно!Любые советы будут оценены <3 </p>

1 Ответ

2 голосов
/ 23 апреля 2019

Мой думаю, - это запрос, который вы хотите, однако он содержит несколько комментариев:

SELECT TOP 1
       SI.[name], --Guessed table
       SI.minor, --Guessed table
       CT.Department,
       C.[percent score], --Guessed table
       C.GPA --Guessed tables
FROM [Student Information t] SI
     JOIN [Courses Taken t] CT ON SI.studentID = CT.studentID
     CROSS JOIN [Courses t] C --Should this be a CROSS JOIN? You had no implicit JOIN in your WHERE
WHERE SI.[name] = 'Insert Name'
--Removed GROUP BY, this query has no aggregation
ORDER BY C.[percent score]; --ORDER BY, not ORDER

Это в основном то, как вы должны были написать свой первый запрос. Надеюсь, даже если это не даст вам набор результатов, который вам нужен, он подберет вас достаточно близко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...