-1

表 - 表 1


1 - 包含字段 - (nid,date,profileid)
- 包含数据 (1,2012-12-1,12),(2,2013-5-12,12),(3,2012-10-10,13) ,(4,2013-1-20,13)

预期输出 - 根据每个 profileid 的最新日期选择 nid

我无法根据最新日期从表中选择 nid 按 profileid 分组

4

2 回答 2

2

我相信你想要这样的东西:

select 
   nid, 
   profileid 
from Table1 
group by profileid 
having max(`date`)

稍微更准确的方法是使用派生表来获取您的最大日期并重新连接到您想要的表:

select 
   Table1.nid, 
   Table1.profileid 
from Table1
 inner join (select profileid, 
             max(date) as maxdate 
             from Table1
             group by profileid) derived on Table1.date = derived.maxdate
                                  and Table1.profileid = derived.profileid

SQL 小提琴演示

于 2013-01-13T05:09:49.003 回答
0

你是这个意思吗?按 profileid 从 table1 组中选择 nid, max(date)

于 2013-01-13T05:06:02.533 回答