-1

テーブル - テーブル 1

Table1
- フィールドが含まれています - (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 に答える