2011-06-09 2 views
0

dire que j'avais seulement deux colonnes de données ....Compte le groupe distinct par code SQL?

Postcode Sold date 
LE14 6QR 01/01/2011 

Comment pourrais-je dire ... affichage pour chaque code postal la date à chaque fois une maison dans ce domaine a été vendu.

E.G Si ce code postal se produit 14 fois, il énumérerait chacune des dates?

Merci,

+0

Si vous avez une contrainte UNIQUE ou PRIMARY KEY sur (CP Sold_date) - et vous devriez probablement - alors votre table ne sera pas en charge les données pour « chaque * temps * une maison dans cette région a été vendu". (C'est nous qui soulignons.) Il serait utile de signaler chaque date où une ou plusieurs maisons * ont été vendues dans cette zone. –

Répondre

0

De vous description, il semble que vous voulez afficher le contenu de la table, de sorte que vous pouvez faire:

select Postcode, [Sold date] 
from MyTable 

Si vous ne voulez pas de dates en double, vous pouvez le faire:

select Postcode, [Sold date] 
from MyTable 
group by Postcode, [Sold date] 
-1

Je pense que c'est ce que vous voulez:

SELECT PostCode, SoldDate 
FROM YourTable 
Group By PostCode 
+0

-1 - vous ne pouvez pas grouper par une colonne et ne pas avoir une fonction d'agrégation appliquée à l'autre colonne. Vous devez donc soit grouper les deux, soit ajouter une agrégation (c'est-à-dire MAX) pour la date de vente. – judda

0

Si vous allez grouper, vous devez également COMPTER pour vous assurer que les totaux sont cumulés.

SELECT PostCode, [Sold Date], COUNT(PostCode) 
FROM [table] 
GROUP BY PostCode, [Sold Date] 
ORDER BY COUNT(PostCode) DESC