Desværre kan jeg ikke bare bruge normale kvartaler. Søgningen skal altså tælle hvor mange gange et givent ord forekommer i en given kolonne over en periode på 3 måneder. Søgningen skulle også gerne kunne medtage årstallet med. Resultatet skulle komme ud
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Hvis der ikke er nogen der har en bedre loesning saa er det ikke uoverkommeligt at goere saadanne kvartalsoversigter "med haanden." Jeg proevede at lave den foelgende mysql tabel og query hvilket gav det foelgende resultat. (Jeg puttede vaerdier i tabellen lidt tilfaeldigt, tilfaeldigvis var der 2 'ord1' vaerdier hver tre maaneder.)
SELECT 'february-april 2008', COUNT('ord1') FROM hcthorsen1 WHERE dato BETWEEN '2008-02-01' AND '2008-04-31' AND ord = 'ord1' GROUP BY ord UNION SELECT 'may-july 2008', COUNT('ord1') FROM hcthorsen1 WHERE dato BETWEEN '2008-05-01' AND '2008-07-31' AND ord = 'ord1' GROUP BY ord UNION SELECT 'august-october 2008', COUNT('ord1') FROM hcthorsen1 WHERE dato BETWEEN '2008-08-01' AND '2008-10-31' AND ord = 'ord1' GROUP BY ord UNION SELECT 'november 2008-january 2009', COUNT('ord1') FROM hcthorsen1 WHERE dato BETWEEN '2008-11-01' AND '2009-01-31' AND ord = 'ord1' GROUP BY ord UNION SELECT 'february-april 2009', COUNT('ord1') FROM hcthorsen1 WHERE dato BETWEEN '2009-02-01' AND '2009-04-31' AND ord = 'ord1' GROUP BY ord UNION SELECT 'maj-juli 2009', COUNT('ord1') FROM hcthorsen1 WHERE dato BETWEEN '2009-05-01' AND '2009-07-31' AND ord = 'ord1' GROUP BY ord
Den første er at tælle ord. Det er let, med mindre et ord, der optræder flere gange i samme felt, skal tælles mere end en gang. Så jeg har tilladt mig at gå ud fra, at det ikke er tilfældet.
Den anden er det med kvartalerne. Det kan løses sådan her:
SELECT CONCAT( YEAR(dato), '-', CASE WHEN MONTH(dato) BETWEEN 2 AND 4 THEN 'feb-apr' WHEN MONTH(dato) BETWEEN 5 AND 7 THEN 'maj-jul' WHEN MONTH(dato) BETWEEN 8 AND 10 THEN 'aug-okt' ELSE 'nov-jan' END ) AS qtr, COUNT(dato) AS no FROM min_tabel WHERE LOCATE('et_bestemt_ord', tekst) GROUP BY qtr
Jamen det er jo en lækker løsning, acore. Præcis det jeg skulle bruge. Nogen der har et problem med at jeg giver 30 point til arne_v og Christian_Belgien for ulejligheden og de resterende 140 til acore for den endelige løsning?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.