贝娄是一个例子表。
ID FROM TO DATE
1 Number1 Number2 somedate
2 Number2 Number1 somedate
3 Number2 Number1 somedate
4 Number3 Number1 somedate
5 Number3 Number2 somedate预期结果是为每一对唯一的往来列获得1行。
如果由ID命令,示例结果
(1,Number1,Number2)
(4,Number3,Number1)
(5,Number3,Number2)好的,我已经找到了如何用下面的查询来完成这个任务。
SELECT * FROM table GROUP BY LEAST(to,from), GREATEST(to,from)然而,我不能得到每一对独特的最新记录。
我尝试过使用order by ID desc,但它返回唯一对的第一个找到的行。
发布于 2015-03-05 23:14:52
SQL小提琴不起作用是因为某些原因,因此,同时,您将需要帮助我来帮助您。
假设以下语句有效
SELECT
LEAST(to,from) as LowVal,
GREATEST(to,from) as HighVal,
MAX(date) as MaxDate
FROM table
GROUP BY LEAST(to,from), GREATEST(to,from)那你就可以加入
select t.*
from
table t
inner join
(SELECT
LEAST(to,from) as LowVal,
GREATEST(to,from) as HighVal,
MAX(date) as MaxDate
FROM table
GROUP BY LEAST(to,from), GREATEST(to,from)
) v
on t.date = v.MaxDate
and (t.From = v.LowVal or t.From = v.HighVal)
and (t.To = v.LowVal or t.To= v.HighVal)https://stackoverflow.com/questions/28837339
复制相似问题