SQL Server search de requête maximale

moi étant un débutant humble sql, j'ai une question: disons que j'ai deux tables: articles, et les gens (à qui un article est vendu). Est-il possible en SQL de produire une requête pour montrer datatables d'une personne qui a acheté le plus d'articles, et le nombre d'articles qu'elle a achetés?

mes créations sont:

CREATE TABLE PEOPLE ( ID INT PRIMARY KEY, (other data) ); CREATE TABLE ITEMS ( ID INT PRIMARY KEY, (other stuff....) bought_by INT REFERENCES PEOPLE ); 

Toute aide serait appréciée:)

Oui, vous pouvez simplement grouper par bought_by de la table ITEMS , sortinger le résultat décroissant par le nombre et get l'logging supérieur:

 select top 1 bought_by, count(*) from ITEMS group by bought_by order by count(*) desc 

Probablement cette requête peut vous aider aussi, si vous avez besoin de plus de personnes data / info:

 SELECT TOP 1 PEOPLE.*, COUNT(ITEMS.*) AMOUNT FROM PEOPLE JOIN ITEMS ON PEOPLE.ID = ITEMS.bought_by GROUP BY PEOPLE.ID, PEOPLE.OtherFieldsInPeopleTable ORDER BY COUNT(ITEMS.*) DESC