列数据更改时如何获取行

Posted

技术标签:

【中文标题】列数据更改时如何获取行【英文标题】:how to get row when change in column data 【发布时间】:2012-03-31 19:13:04 【问题描述】:

我有下表

Id  | Status | date
-------------------
1   | Onsite |2007
2   | Onsite |2008
3   | Onsite |2009
4   | Abroad |2010
5   | Abroad |2011
6   | Onsite |2012
7   | Abroad |2013
8   | Abroad |2014
9   | Onsite |2015

我想在 mysql 中进行查询,当状态从“Abroad”更改为“Onsite”时返回一条记录。 在上述情况下,查询将返回以下行:

6  | Onsite |2012
9  | Onsite |2015

【问题讨论】:

所以您希望根据状态之前变为Onsite 进行查询?对吗? 【参考方案1】:

尝试以下查询,即使 id 不在序列中也能正常工作:

SELECT * 
FROM 'table_name' t
WHERE t.status = 'Onsite' and 
       EXISTS(SELECT t1.id 
               FROM 'table_name' t1 
               WHERE t1.status = 'Abroad' and t1.id<t.id
               ORDER BY t1.id DESC 
               LIMIT 1,1);

【讨论】:

但是如果 id 不在序列中怎么办 Id |状态 |日期------------------- 1 |现场 |2007 2 |现场 |2008 3 |现场 |2009 4 |国外 |2010 5 |国外 |2011 6 |现场 |2012 7 |国外 |2013 8 |国外 |2014 19 |现场 |2015 但是如果 id 不在序列中怎么办 Id |状态 |日期------------------- 1 |现场 |2007 2 |现场 |2008 3 |现场 |2009 4 |国外 |2010 5 |国外 |2011 6 |现场 |2012 7 |国外 |2013 8 |国外 |2014 19 |现场|2015 @user1271131 我根据您的需要编辑了我的答案。现在即使没有 id 序列它也可以工作(我已经测试过了)。

以上是关于列数据更改时如何获取行的主要内容,如果未能解决你的问题,请参考以下文章

如何获取有关数据库列更改的通知

WPF datagrid按钮列点击如何获取当前行某单元格的值!

如何在python中获取熊猫数据框的行列表? [复制]

JS datatable表中的某一列如何获取

如何仅获取特定行的列均值?

如何获取行的最后更改时间戳?