CREATE TABLE `user_data` (
`u_id` int NOT NULL,
`nick_name` varchar(255) NOT NULL,
`kor` int NOT NULL,
`eng` int NOT NULL,
`math` int NOT NULL,
`date` date NOT NULL
)
SELECT * FROM (SELECT u_id, nick_name, kor, ROW_NUMBER() OVER (ORDER BY kor DESC) AS salary_rank FROM user_data) salary_rank
As I searched the Internet, I could get a rank (rank) for each subject in this way.
How do I get the total national total score for each student?
I was doing this and that, but I kept getting angry because of the error, so I posted a question<
Please explain with the explanation.
mysql
Looking at the table structure you uploaded, and to infer from the practice very empirically, what you want is a query that aligns the user_data
table so that the kor+eng+math
value is large and then SELECT
.
Then I think we can just do it like this.?
-- Caution: I haven't tested it.
SELECT *
FROM (
SELECT
u_id, nick_name, kor, eng, math,
ROW_NUMBER() OVER (ORDER BY kor+eng+math DESC) AS `rank`
FROM `user_data`
) user_rank;
© 2024 OneMinuteCode. All rights reserved.