2017-05-04 217 views
-3

任何人都可以请帮助从组中获得最后一条记录。 enter image description here从组数据中获取最后一条记录。 MySql

+1

欢迎来到StackOverflow。 请参考[游览], 学习问好问题stackoverflow.com/help/how-to-ask, 做个[mcve]。一个MCVE应包含各种样本输入(说明所有方面)和期望的输出。 对于SQL,MCVE包含几行'create table ...'和'insert into table values ...'。 – Yunnosch

回答

1

我认为你需要这样的:

select * from t where col = 85 order by id desc limit 1 

根据您的意见,这应该让每个组最后一个记录:(假定id是独一无二的,“最后一个记录”是指记录,最高id

select t.* from t 
inner join (select max(id) as maxid from t group by col) s 
on t.id = s.maxid 
+0

嗨,先生,我不仅有85 id。我在Group中有许多ID。所以我希望该组数据的最后一条记录。 – Ravi

+0

select * from t group by subscription_id order by id desc limit 1此查询可能适用于您。 – Sudhakar

+0

@Ravi - 我更新答案,请参阅。 –

0

你可以使用last()函数。

SELECT LAST(CustomerName)AS LastCustomer FROM Customers;

0

要从MySQL获取1行,请使用'limit'关键字。

MySQL支持LIMIT子句来选择有限数量的记录,而Oracle使用ROWNUM。 语法:

SELECT column_name(s) 
FROM table_name 
WHERE condition 
LIMIT number; 

例如为: 从你的截图,订阅ID是相同的多个ID的你想获得最后一个记录哪个ID是更大的。下面的查询得到你的结果,按subscription_id分组,并通过id desc进行排序,并限制为1使得仅从数据库获取1行。

select * from tableName group by subscription_id order by id desc limit 1 
相关问题