我有一个表需要从中获取一些度量。
例如,我有下表:
meas_count | skippings | 链接额外 | |
---|---|---|---|
10 | 8 | >4.2 | 一些 |
10 | 9 | 5.8一些 | [/tr>|
10 | 9 | 5.8 | some_2[/tr>|
11 | 8 | 4.2 | 一些 |
11 | 8 | 5.8 | 一些[/tr>|
11 | 9 | 5.9一些 | [/tr>
您可以通过在不指定联接条件的情况下对两个表执行INNER JOIN
来实现这一点。这将为您提供两组行的每一个组合。
SELECT * FROM
(
SELECT meas_count,skippings
FROM current_stats
GROUP BY meas_count,skippings)
AS one
INNER JOIN
(
SELECT LAG(rounded) OVER (ORDER BY rounded) as links_min,
rounded as links_max FROM
(SELECT * FROM
(SELECT ROUND(links, 1) as rounded FROM current_stats)
GROUP BY rounded
ORDER BY rounded
)
) AS two;
至于性能,只有在有更好的方法的情况下,这才是真正的问题。当然,嵌套的SELECT需要时间,但当今SQL引擎中的查询优化器非常善于从您所说的内容中确定您的意思。