我将以
CONCAT这种方式创建:
SELECt e.name AS Employee, CONCAt( CEIL(DATEDIFF(h.date, e.startdate)/365), ' (', DATE_ADD(e.startdate, INTERVAL FLOOR(DATEDIFF(h.date, e.startdate)/365) YEAR), ' to ', DATE_ADD(e.startdate, INTERVAL CEIL(DATEDIFF(h.date, e.startdate)/365) YEAR), ')' ) as Year, COUNT(h.date) AS Holidays_Taken, SUM(h.hours) AS HoursFROM employees AS eLEFT JOIN holidays_taken AS h ON e.id = h.empidWHERe e.id = 1GROUP BY Year演示: SQL FIDDLE



