I would like to make a SQL script or statement which has a function of updating the column but it only update the high OnlineTime.
- DatabaseName: Ranking
- Table: ChaInfo
- Columns: UserNum, CharacterName,OnlineTime,Points
Lets say there are 3 column that has the same UserNum but different OnlineTime Record, Then What I want to happen is UPDATE the POINTS of the one that has a highest OnlineTime.
Sample code but its not working:
UPDATE ChaInfo SET Points = Points + 10 SELECT TOP 1 UserNum WHERE UserNum = 1 ORDER BY OnlineTime DESC
Please help me to fix this code.Thanks.
Advertisement
Answer
If you want to update row with UserNum=1 and highest onlineTime , try this:
UPDATE chainfo
SET points = points + 10
WHERE usernum =1
and onlinetime=(select max(onlinetime)
from chainfo
where usernum =1)