2009-04-09 7 views
1

J'essaie d'écrire une requête qui produirait quelque chose de similaire au dernier lot d'enregistrements ci-dessous. Pour que cela fonctionne dans Reporting Services et Crystal Reports, mais juste jeter ici pour voir s'il est possible dans SSMS/QA:SQL Server: affichage de la première ligne d'enregistrements groupés

 
Table: 
id name amount 
-- ---- ------ 
1 rob 23.00 
2 rob 34.00 
3 dan 45.00 
4 dan 56.00 

select name, amount from t1 
Query resulting in: 
name amount 
---- ------ 
rob 23.00 
rob 34.00 
dan 45.00 
dan 56.00 

DESIRED result: 
name amount 
---- ------ 
rob 23.00 
     34.00 
dan 45.00 
     56.00 

Merci!

Répondre

3

Essayez ceci:

SELECT CASE WHEN _rank = 1 THEN name ELSE '' END AS name, amount 
FROM (
    SELECT name, amount, 
     ROW_NUMBER() OVER (PARTITION BY name ORDER BY amount ASC) AS _rank 
    FROM t1 
) q 
+0

Exactement ce que je cherche. Merci Ekeko! –

+0

vous devez marquer une question comme acceptée. Je suppose que tu ne le sais pas parce que tu es nouveau ici. – eKek0

+0

ouais, était à la recherche de 'Accepter' plus tôt ... puis a dû lire quelques FAQ, bingo! –

Questions connexes