2011-04-13 3 views
1

enter image description hereSql Server Commande multiple?

Mon nom de la table est Skor .. Skor signifie "le point", sure signifie "temps" --- Max point dans le temps min (Multiple Order)

Je veux commander ce tableau. Mais SKOR (MAX) Valeur et sûre (MIN) valeur et userID doit être une seule que vous voyez il y a 6 userID (2) Je veux la seule valeur max

Je veux quelque chose comme ça

userID skor sure 
    2  90 50 
    3  90 60 

Comment puis je faire ça?

+1

'userId' 2 n'a pas de' skor' de 90 dans vos données d'exemple? Le 'max' pour cet utilisateur est de 95. Je n'ai aucune idée de ce que vous demandez ici. –

+0

@Martin - ne le fait pas 3 – JNK

+2

Je suis confus par vos résultats attendus. skorID 79 affiche une valeur de skor de 95 pour userID 2, alors pourquoi vos résultats attendus montrent-ils 90? Je ne vois pas non plus une valeur sûre de 50 partout pour userID 2. En outre, je ne vois aucune valeur de skor de 90 pour userID 3 dans vos données d'échantillon, le maximum semble être 55. –

Répondre

3
SELECT UserID, MAX(skor) as 'skor', MIN(sure) as 'sure' 
FROM MyTable 
GROUP BY UserID 

Ceci suppose que vous voulez le maximum et le minimum par utilisateur, pas sur la même ligne d'enregistrement.

+0

SELECT userid, max (skor), min (sûr) dE tablename GROUP BY userid ce n'est pas ce que je veux .. [enter image description ici] [1] Je veux que ce tableau ... J'espère que vous les gars savent ce que je dis: ! ( [enter image description ici] [2] [1]: http://i.imgur.com/qrEIv.jpg [2]: http://i.imgur.com/YvZsP. jpg – PsyGnosis

+0

@user - cette requête vous donnera ** EXACTEMENT ** est dans l'image que vous avez posté un lien vers. Le 'MAX Skor' et' MIN sure' pour chaque 'USERID', avec seulement une ligne par' UserID'. – JNK

1

Vous devez ajouter un GROUP BY à votre requête dans la colonne userID. Par exemple.

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 
+0

Mais mes valeurs insérant de la page asp.net .. Je veux comme ça http://i.imgur.com/YvZsP.jpg – PsyGnosis

+0

la seule chose que je peux penser comme manquant est un alias pour chaque champ ... essayez cet ID utilisateur SELECT, MAX (skor) AS skor, MIN (sûr) comme sûr FROM @Skor GROUP BY userID – Mack