Home  >  Article  >  Database  >  Detailed explanation on how Mysql groups data and extracts the most recent data

Detailed explanation on how Mysql groups data and extracts the most recent data

黄舟
黄舟Original
2018-05-15 11:24:327389browse

Like the title, I have also looked for related solutions on the Internet. Many of the answers are like this SQL statement:

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

Recommended related mysql video tutorials: " mysql tutorial

Use the Max function. But there seems to be something wrong in the data I found. As shown in the picture, in the highlighted data, the Mark field and the CreateTime field do not correspond at all!

How is this going? Is it reliable to group after using the Max function? There is another statement:

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

The data found in this way is correct


But, I need to create a
view,MysqlQuery clauses are not allowed in the middle view. Can anyone please provide me with a SQL statement that can detect the correct data without any clauses appearing? Thanks!

Solution

:

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

The above is the detailed content of Detailed explanation on how Mysql groups data and extracts the most recent data. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn