一点背景:蜜蜂收到一个编号颜色的标签,用于识别它们。标签需要重复使用,因为蜜蜂太多。然而,一个特定的标签永远不会同时使用,蜜蜂的出生和死亡日期都会被记录下来。
数据结构:
TABLE: tags
id bee_id tag_date colony_id events tagged_by
=================================================================================
1 G23 2013-06-01 1 birth ET
2 Y35 2013-06-03 1 birth ET
3 G23 2013-07-01 NULL death ET
4 G23 2013-07-02 2 birth ET
5 W64 2013-07-03 1 birth ET
6 Y35 2013-07-15 NULL death ET
所需的输出:
bee_id Status Birth Date Death Date
======================================================
G23 Dead 2013-06-01 2013-07-01
G23 Alive 2013-07-02 NULL
Y35 Dead 2013-06-03 2013-07-15
我尝试过(但失败了)
select * from
( select *
from tags
order by tag_date
where events = "birth"
limit 1 ) as births
group by `bee_id`