2017-04-05 65 views
0

这是非常简单的我想要做的事,但不知道它是否可行,以及它是如何做到的?从2日期列表中选择所有年份

我有一个表的mysql数据库什么trackId,StartDate,EndDate和即时试图从1结果集中的两个colums获取所有distinc年。

到目前为止,我有这样的:

SELECT DISTINCT YEAR(StartDate) as year, YEAR(EndDate) as year 
from TRACK 

,我的结果是:

| year | year | 
|------|------| 
| 2016 | 2017 | 
| 2017 | 2018 | 

什么我想要得到的是:

| year | 
|------| 
| 2016 | 
| 2017 | 
| 2018 | 

难道是更多钞票?

回答

0

使用UNION

SELECT * from (
    SELECT YEAR(StartDate) as year from TRACK 
    UNION 
    SELECT YEAR(EndDate) as year from TRACK 
) 
ORDER BY year 

外部选择只有必要的,如果您需要在订单的方式,结果

+0

谢谢,这就是我需要的! –

+0

@JuanfriLira不客气。如果这是你所需要的,随时接受和/或upvote我的答案 – Jens

0

您可以使用此:

SELECT DISTINCT [Year] From 
(SELECT StartYear AS [Year] FROM #Test 
UNION 
SELECT EndYear AS [Year] FROM #Test) A 
相关问题