Maison >base de données >tutoriel mysql >Explication détaillée sur la façon dont Mysql regroupe les données et extrait les données les plus récentes

Explication détaillée sur la façon dont Mysql regroupe les données et extrait les données les plus récentes

黄舟
黄舟original
2018-05-15 11:24:327609parcourir

Tout comme la question, j'ai également recherché des solutions connexes sur Internet. La plupart des réponses ressemblent à cette instruction SQL :

select Id,Ac
count
Id,Mark,max(Create
Time
) as Latest from AccountMark as b group by AccountId

MySQL associé recommandé. tutoriels vidéo : "tutoriel mysql

Utilisation de la fonction Max. Mais il semble y avoir quelque chose qui ne va pas dans les données que j'ai trouvées. Comme le montre l'image, dans les données en surbrillance, le champ Mark et le champ CreateTime ne correspondent pas du tout !

Que se passe-t-il ? Est-il fiable de regrouper dans après avoir utilisé la fonction Max ?
Il y a une autre déclaration :

select *,COUNT(AccountId) as Num from 
(select * from AccountMark order by CreateTime desc) `temp`  
group by AccountId order by CreateTime desc

Les données trouvées de cette manière sont correctes

Cependant, je dois créer une vue, La clause requête n'est pas autorisée à apparaître dans la vue dans Mysql. Quelqu'un peut-il me fournir une instruction SQL capable de détecter les données correctes sans qu'aucune clause n'apparaisse ? Merci!

Solution :

select * from AccountMark as b where not exists(select 1 from AccountMark where AccountId= b.AccountId
and b.CreateTime<CreateTime )

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn