J'ai une table dans SQL Server 2005 qui ressemble àSélection des 5 premières lignes uniques, triées de manière aléatoire dans SQL Server 2005?
1 | bob | joined
2 | bob | left
3 | john | joined
4 | steve | joined
5 | andy | joined
6 | kyle | joined
Ce que je veux est de donner à quelqu'un la possibilité de tirer vers le haut l'activité de 5 utilisateurs au hasard (montrant leur dernière activité)
ex: Je veux retourner les résultats 1, 3, 4, 5, 6 - ou - 2, 3, 4, 5, 6 - mais jamais - 1, 2, 3, 4, 5 (parce que 1 et 2 sont des activités du même utilisateur , et je ne veux pas qu'il apparaisse deux fois au détriment d'un utilisateur unique différent qui pourrait voir son activité affichée)
J'essaie quelque chose comme SELECT TOP(5) FROM table ORDER BY NEWID()
pour obtenir le top 5 et l'aspect aléatoire va, mais lorsque je tente d'intégrer UNIQUE ou DISTINCT partout (pour arrêter de recevoir en retour les lignes 1 et 2) i obtenir des erreurs SQL et je ne sais pas comment progresser
Nous pourrions être d'une aide beaucoup plus grande si nous savions quel est votre SQL jusqu'à présent et quelles erreurs le système rejette ... – Frankie