22,209
社区成员
发帖
与我相关
我的任务
分享
;WITH t AS (
SELECT *,
CASE
WHEN Openid1 = '吕布' THEN Openid2
ELSE Openid1 END AS OpenId
FROM Chat
WHERE Openid1 = '吕布'
OR Openid2 = '吕布'
),t1 AS (
SELECT t.OpenId,
MAX(t.CreateDate) AS CreateDate
FROM t
GROUP BY OpenId
)
SELECT t.ID,t.OpenId,t.ContentMsg,t.CreateDate FROM t JOIN t1 ON t1.OpenId = t.OpenId AND t1.CreateDate = t.CreateDate
SELECT t.OpenId,
MAX(t.CreateDate) AS CreateDate
FROM ( SELECT *,
CASE
WHEN Opendid1 = '吕布' THEN Opendid2
ELSE Opendid1 END AS OpenId
FROM Chat
WHERE Opendid1 = '吕布'
OR Opendid2 = '吕布') t
GROUP BY OpenId