sql >> Databasteknik >  >> RDS >> Mysql

Hur får jag det första datumet på ett kvartal i MySQL?

prova detta:

Använd detta för att få startdatumet för det aktuella kvartalet:

  SELECT  MAKEDATE(YEAR(CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) QUARTER 
                                       - INTERVAL    1 QUARTER 

Så din fråga skulle vara:

SELECT
 QUARTER(r.callDate) AS quar,
 YEAR(r.callDate) AS ryear,
 MAKEDATE(YEAR(r.callDate), 1) + INTERVAL QUARTER(r.callDate) QUARTER -
  INTERVAL 1 QUARTER  AS scoreDateStart,
 (SELECT DATE (DATE_SUB( DATE_ADD( CONCAT( YEAR( r.callDate ), '-01-01'), 
 INTERVAL QUARTER(r.callDate) QUARTER ), INTERVAL 1 DAY))) AS scoreDateEnd,
 group_concat(DISTINCT(r.resultId) separator ', ') AS resultIds
FROM results AS r
GROUP BY  quar, ryear
ORDER BY quar;



  1. MySQL:Curdate() vs Now()

  2. hur man extraherar xml-värdefält med i sql-server (extractvalue-funktion i mysql)

  3. VÄLJ ut varje anställd som har en högre lön än GENOMsnittet för hans avdelning

  4. Datum sparas inte i Mysql från Php-registreringsformulär