從下面的MySQL查詢如何升序和降序修改一個列在MySQL
select (
case
when grade < 8 then null
else name
end
) as name,
grade, marks
from students
join Grades
ON Min_mark = (SELECT MAX(Min_mark) from grades where min_mark <= students.marks)
order by grade desc,name asc
我想根據等級的即
值的順序排序,以生成包含三個報告欄目:名稱,年級和標記。報告必須按年級降序排列 - 即先輸入更高的成績。如果有多於一名同一年級(1-10)的學生被分配給他們,則按字母順序排列這些特定學生的名字。最後,如果等級低於8,使用「NULL」作爲自己的名字,並借他們的在上升
select (
case
when grade < 8 then null
else name
end
) as name,
grade, marks
from students
join Grades
ON Min_mark = (SELECT MAX(Min_mark) from grades where min_mark <= students.marks)
case
when grade <8 then
order by grade desc, name asc
else
order by marks asc
end
一一列舉但是因爲錯誤的語法的第二個查詢不執行。有人請告訴我如何獲得所需的結果。在此先感謝
您的訂單通過(而語法錯誤)也是不明確;你沒有(也不能像你已經構建的那樣)指定'grade <= 10'記錄是在'grade> 10'之前還是之後。 – Uueerdo
你可以給我們更多的信息。這個條件應該做什麼,爲什麼?你能顯示你的數據庫結構(轉儲表,甚至屏幕)嗎? – Arkowsky
@Arkowsky任務來生成包含三列的報告:名稱,成績和標記。 報告必須按年級降序排列 - 即先輸入更高的成績。 如果有一個以上的學生,分配給它們的同檔次(1-10), 爲了這些特殊的學生通過他們的名字的字母順序。 最後,如果等級低於8,使用「NULL」作爲自己的名字,並通過它們在升序 – Dilkush