Home > Database > Mysql Tutorial > body text

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

黄舟
Release: 2019-02-22 16:29:20
Original
7564 people have browsed it

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
Copy after login

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
Copy after login

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<CreateTime )
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template