Sql Server Multiple Order?
My table name is Skor
.. Skor
means "point", sure
means "time" --- Max Point Min Time (Multiple Order)
I want to order this table. But skor(MAX) value and sure(MIN) value an开发者_如何学God userID must be only one as you see there is 6 userID ( 2 ) I want the only max value
I want something like this
userID skor sure
2 90 50
3 90 60
How can I do that?
SELECT UserID, MAX(skor) as 'skor', MIN(sure) as 'sure'
FROM MyTable
GROUP BY UserID
This is assuming you want the max and min per user, not on the same record row.
You need to add a GROUP BY to your query on the userID column. Eg.
DECLARE @Skor AS TABLE(userID int, skor int, sure int)
INSERT INTO @Skor(userID, skor, sure) VALUES (2,45,30)
INSERT INTO @Skor(userID, skor, sure) VALUES (2,30,25)
INSERT INTO @Skor(userID, skor, sure) VALUES (18,5,50)
INSERT INTO @Skor(userID, skor, sure) VALUES (18,10,50)
INSERT INTO @Skor(userID, skor, sure) VALUES (15,5,45)
INSERT INTO @Skor(userID, skor, sure) VALUES (15,50,60)
INSERT INTO @Skor(userID, skor, sure) VALUES (9,80,100)
INSERT INTO @Skor(userID, skor, sure) VALUES (10,70,40)
INSERT INTO @Skor(userID, skor, sure) VALUES (17,110,50)
INSERT INTO @Skor(userID, skor, sure) VALUES (3,55,60)
INSERT INTO @Skor(userID, skor, sure) VALUES (4,90,80)
INSERT INTO @Skor(userID, skor, sure) VALUES (6,65,90)
INSERT INTO @Skor(userID, skor, sure) VALUES (8,120,40)
INSERT INTO @Skor(userID, skor, sure) VALUES (2,80,60)
INSERT INTO @Skor(userID, skor, sure) VALUES (2,95,80)
INSERT INTO @Skor(userID, skor, sure) VALUES (2,5,80)
INSERT INTO @Skor(userID, skor, sure) VALUES (2,15,79)
SELECT userID, MAX(skor), MIN(sure)
FROM @Skor
GROUP BY userID
精彩评论