我已經查看了一些使用連接來獲取組中最高值的示例,但我嘗試的方法不喜歡使用內部連接之外的別名。在SQL內部連接中使用別名
SELECT f.year, f.name, f.date_start, f.date_end, f.max_year FROM ( SELECT EXTRACT(year FROM date_start) AS year, MAX(DATEDIFF(date_end,date_start)) AS max_year FROM mytable GROUP BY year ) AS x inner join mytable AS f on f.year = x.year and f.max_year = x.max_year;
所以,如果我有一個表:
Name date_start date_end John 1950-04-05 1960-07-08 Jack 1950-04-06 1960-12-31 Mark 1954-01-01 1970-01-01 Jane 1954-10-10 1978-10-01
然後,我希望它彈出有兩個日期之間的最大差距的條目,每一年的起始日期爲:
Year Name date_start date_end max_year 1950 Jack 1950-04-06 1960-12-31 3922 1954 Jane 1954-10-10 1978-10-01 8758
任何的如何解決建議 這個?
當您運行查詢或結果與預期不符時,是否收到錯誤消息? – Bulat 2014-08-27 15:45:31