sql >> Database >  >> RDS >> Mysql

Formatteer MySQL met CONCAT

Ik zou de CONCAT . maken op deze manier:

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 Hours
FROM employees AS e
LEFT JOIN holidays_taken AS h ON e.id = h.empid
WHERE e.id = 1
GROUP BY Year

DEMO:SQL FIDDLE



  1. Vermijd HA/DR-oplossing Zelf-waan

  2. Strategie om meerdere bestanden in een enkele tabel toe te wijzen aan een enkel veld in een andere tabel

  3. Spotlight Cloud-ondersteuning voor Azure SQL DB-aankondiging (preview)

  4. mysql:converteer timediff() naar seconden