J'ai besoin de sélectionner l'enregistrement Voici un exemple de ma table p> Mes résultats attendraient ces lignes p> Nous examinons d'abord UNITID, NEXTE CHECK CompanyCode s'il existe un enregistrement avec DIFFÉRENTS COOKCODE CODE> Il sera affichage, mais si elle sera identique, elle sélectionnera le top 1 avec la commande par CreatedDate P> Quere simple: Quelqu'un sache comment cela peut être atteint? P> P> top 1 code> de chaque groupe de colonne UniTID code> et CompanyCode code> et en utilisant la commande par colonne créée code> Sélectionnez ID, UNITID, CompanyCode, créatedDate de Tbl_unit Commande par crédikeDate CODE> P>
3 Réponses :
Si je comprends correctement, l'instruction suivante peut aider:
SELECT ID, UnitID, CompanyCode, CreatedDate
FROM (
SELECT
ID, UnitID, CompanyCode, CreatedDate,
ROW_NUMBER() OVER (PARTITION BY UnitID, CompanyCode ORDER BY CreatedDate) AS Rn
FROM Tbl_Unit
) t
WHERE Rn = 1
J'aime utiliser TOP 1 avec les liens CODE> Pour gérer ce type de requête sur SQL Server: SELECT TOP 1 WITH TIES *
FROM Tbl_Unit
ORDER BY
ROW_NUMBER() OVER (PARTITION BY UnitID, CompanyCode ORDER BY CreatedDate DESC);
Et s'il y a une cravate, c'est-à-dire deux enregistrements avec le même
UnitID code>,CompanyCode code> etcréatedDate code>?