连续的最后一个条目不是空白

时间:2012-08-17 02:31:48

标签: mysql sql phpmyadmin

嘿那里我试图弄清楚这个的SQL代码:

假设我有4列:

ID  NAME  EMAIL
1   Mike  mike@mike.com
2   Bob   bob@bob.com
3   Chris
4   Matt

我想从电子邮件中选择最后一个非空的条目,所以在这个例子中它会寻找bob@bob.com 我试过Coalesce,但这似乎给了我列中的值,但不是最后输入的值。 MAX我认为仅用于ID。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

通过加入仅返回MAX(ID)的子查询。这在MySQL中是不必要的,但是如果它们不在GROUP BY子句中,许多其他RDBMS也不允许你包括聚合以外的列。

SELECT yourtable.*
FROM
  yourtable
  JOIN (SELECT MAX(ID) AS ID FROM yourtable WHERE EMAIL IS NOT NULL) maxid ON yourtable.ID = maxid.ID

注意:在任何一种情况下,只有当ID是一个自动递增列并且您没有通过插入已删除前一个ID的行来插入它时,这才能可靠地工作。