Det er svært at sige uden flere oplysninger. men hvis der nu er et fælles ID der binder brugerne og collections sammen vil jeg tro at flg. kunne gøre det:
SELECT TOP 25 Collections.*, COUNT(SELECT * FROM CollectionUsers WHERE CollectionUsers.CollectionID = Collections.CollectionID) AS Cnt ORDER BY Cnt DESC
Jeg vil tro det kan gøre således i MS SQL Server (muligvis også i Access):
SELECT c.*, cuc.antal FROM Colletions c INNER JOIN ( SELECT TOP 25 CollectionsID, COUNT(*) AS antal FROM CollectionsUsers GROUP BY CollectionsID ORDER BY COUNT(*) DESC ) cuc ON cuc.CollectionsID = c.id
forudsat at CollectionsID er fremmednøglen i CollectionsUsers, der, via ID i Collections, binder CollectionsUsers sammen med Collections.
Forklaring: Den indre forspørgsel finder de 25 CollectionsID'er som har flest tilknyttede CollectionsUsers og den ydre forspørgsel finder de resterende oplysninger om de 25 Collections som bliver fundet i den indre forspørgsel (hvis jeg ellers har fået det rigtigt skruet sammne :-))...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.