0

次の列を持つ長いテーブルがあります。

Id(シリアル)、FirstName(varchar15)、LastName(varchar15)、StartDate(日付)、EndDate(日付)

エントリは次のようになります。

* 1, Amar, XoXo, 2009-07-01, 2014-05-23.
* 2, Madhujita, Mami, 2009-03-11, 2014-06-24.
* 3, Akbak Ladar, 2000-04-12, 2009-01-01.
* 4, Abhashuk, Genjin, 2005-06-03, 2005-09-09.
* 5, Sinra, Iao, 2014-01-01, 2014-04-06

500人のメンバーまで。

最も多くの時間を一緒に過ごした 2 人と何日かを調べるにはどうすればよいですか? 与えられたデータのように、Amar と Madhujita は最大の時間を費やしました。これは単一のクエリで実行できますか? ありがとうございました。

4

2 に答える 2

0

ありがとう、ゴードン、私はあなたの足跡をたどり、よりよく理解して自分自身の質問にたどり着きました

select x.firstname as firstname1,x.lastname as surname1,y.firstname as firstname2,y.lastname as surname2
            from staff x inner join staff y on 
            x.startDate <= y.endDate and y.startDate <= x.endDate and x.firstname!=y.firstname and x.surname!=y.surname HAVING MIN(ABS(DATEDIFF(x.startdate,x.endDate)-DATEDIFF(y.startDate,y.endDate)))
于 2014-02-24T22:20:57.457 に答える