sql >> Database teknologi >  >> RDS >> Mysql

Optimer iteration gennem array ved hjælp af foreach loops

Du behøver kun at lave en god MySQL-forespørgsel.

Se her .

Du kan foretage additioner, subtraktioner og ting som f.eks. date BETWEEN x AND Y , kan du lave en SELECT SUM() med en GROUP BY og så videre.

Hvad Hakan mener (jeg gætter på) er, at du gør det på den forkerte måde:du skal først lave en forespørgsel, der gør næsten alt arbejdet for dig. Ingen grund til at udvikle en så kompleks ting.

Og tre andre råd:

  • prøv at undgå søgeord i Php som $expense->Date . Dette gør syntaksfremhævning problemer (i det bedste). i det værste tilfælde Php forstår ikke din kode).
  • tilføj flere kommentarer i din kode for at forklare, hvad du prøver at gøre.
  • prøv at undgå søgeord i Php AND SQL-forespørgsler. Du har en kolonne med navnet 'Date ' og en kolonne med navnet 'Type '. Dette er ikke sikkert.

Her er kun en begyndelse på, hvordan din SQL kunne se ud, og den burde næsten dække 95% af din kode. Bemærk:dette er et forslag:lad alle databaseservere gøre arbejdet for dig, dette er lavet til det:

SELECT
    ps.Due,ps.Date,
    wt.Amount,wt.Date,
    ex.Amount,ex.Date

LEFT JOIN patient_sessions ps
    ON xxx
    WHERE ps.Type='Session'
    AND ps.Date
        BETWEEN DATE_ADD(NOW(), INTERVAL '-28' DAY)
        AND     DATE_ADD(NOW(), INTERVAL 1 DAY)
LEFT JOIN work_times wt
    ON xxx
LEFT JOIN expenses ex
    ON xxx
    WHERE ex.Client='Psychotherapy'


  1. NodeJS Server med mysql hænger

  2. Match/Imod og transaktioner

  3. Entity Framework fungerer ikke med den tidsmæssige tabel

  4. SQLAlchemy ivrig indlæsning af flere relationer