sql >> Databasteknik >  >> RDS >> Mysql

MySQL Group efter datum mellan

Du kan gruppera på -nästan- vad du vill. Om du kan få något i en kolumn för att visa vad du vill, kan du gruppera på det. Så under bara två perioder kan du helt enkelt gruppera på ett om:

SELECT * FROM table
GROUP BY if(stamp between "2005-07-01" and "2006-02-01", 0, 1)

Om du vill att perioderna ska sträcka sig över längre tider (flera år) kan du använda period_diff för att skilja:

SELECT * FROM table
GROUP BY floor(period_diff( DATE_FORMAT(stamp, "%Y%m"), "200507") / 6)

Det ger dig antalet 6-månaders block som passerat mellan ditt datum och startperioden i år-månadsformat.



  1. Databashårdvara och infrastrukturtrender

  2. Hur man förlänger Joomla! till min anpassade PHP-fil

  3. konvertera sträng till datum php

  4. Bästa sättet att fånga sql unika begränsningsöverträdelser i c# under infogning