Est-il possible d'omettre une colonne agrégée dans une requête? Par exemple:
SELECT Id, Description, MAX(Created) FROM Record GROUP BY Id, Description
Comment omettre la colonne MAX (créée) de mon jeu de résultats? Cette requête est utilisée dans une sous-requête pour que je puisse join l'logging le plus récent et omettre les loggings plus anciens. Je sais que cela ne changera pas grand-chose, mais en général, ma pratique consiste à ramener uniquement datatables dont vous avez besoin, et dans ce cas, je veux simplement me joindre à l'logging le plus récent et en retirer la description. Je me fiche de la date.
Des pensées? Suis-je trop pointilleux?
Si vous voulez seulement la description (1 logging) de l'logging le plus récent (MAX (Créé)), alors
SELECT TOP 1 Id, Description FROM Record ORDER BY CREATED DESC
select TOP 1 ID, Description from Record group by ID, Description order by MAX(Created) DESC
Vous ne pouvez pas utiliser une fonction d'agrégation sans grouper des colonnes.
Et comme mentionné ci-dessus, vous pouvez même pas besoin d'une fonction d'agrégat
select TOP 1 ID, Description from Record order by Created DESC
À less que je ne comprenne mal la question, ne pouvez-vous pas simplement supprimer la colonne que vous ne voulez pas sélectionner?
SELECT Id, Description FROM Record ORDER BY Created DESC LIMIT 1
SELECT DISTINCT Id, Description FROM Record