Mysql resultaten in array | Resultaten bij elkaar optellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten van Rijssel

Maarten van Rijssel

07/01/2016 12:32:13
Quote Anchor link
Dag.

Weet iemand hoe ik ervoor kan zorgen dat alle gegevens van de kolom DATA uit de onderstaande tabel bij elkaar opgeteld kunnen worden of hoe ik ze in een array kan zetten. Mij lukt het namenlijk niet.

+ ------------------------ +
| ID | DATA | DATE |
+ ------------------------ +
| 1 | 4 | 050116 |
| 2 | 7 | 050116 |
| 3 | 4 | 060116 |
| 4 | 9 | 060116 |
| 5 | 2 | 070116 |
+ ------------------------ +

(Excuses voor de rare uitleinding. Hij pakt spaties niet goed)

Bvd.
Gewijzigd op 07/01/2016 12:35:05 door Maarten van Rijssel
 
PHP hulp

PHP hulp

23/11/2024 06:17:15
 
Ivo P

Ivo P

07/01/2016 13:00:28
Quote Anchor link
SELECT SUM(DATA) AS totaal FROM tabel

Overigens: de kolomnaam "DATE" suggereert dat het om datums gaat.
050116 lijkt echter niet een datum te zijn.

Maak daar eens ipv een varchar een kolom van het type DATE van....
 
Maarten van Rijssel

Maarten van Rijssel

07/01/2016 13:03:45
Quote Anchor link
Het gaat hier om de kolom DATA, niet DATE. Bovendien is 050116 05-01-16.
 
Ivo P

Ivo P

07/01/2016 13:06:52
Quote Anchor link
Ik snap dat het om de kolom DATA gaat, daarom zet ik die ook in de query.

Ik probeerde alleen aan te geven dat er een kolomtype is voor veel verschillende soorten data.

Zo zet je getallen in een kolom van het type INT, of DECIMAL als het om een bedrag met centen gaat.

Strings zet je in VARCHAR, TEXT etc.

Datums gaan in DATE kolommen, of als er ook een tijd bij hoort in DATETIME.

Dus 2016-01-05

Want met 050116 is voor de database ongeveer net zo bruikbaar als "de vijfde dag van januari 2016"

Toevoeging op 07/01/2016 13:09:50:

Want probeer maar eens een query te maken die de data van alle maandagen van januari ophaalt.

WHERE DAYOFWEEK(datumkolom) = 2 AND MONTH(datumkolom) = 1

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek
 
Maarten van Rijssel

Maarten van Rijssel

07/01/2016 13:10:51
Quote Anchor link
Ik snap je punt wel hoor. Alleen als het nodig was om DATETIME te kiezen had ik het wel gedaan. Het gaat er nu alleen om dat er in de database de datum staat en aan de hand daarvan de juiste DATA opzoekt. Maar omdat k het geklier niet wil met puntjes en streepjes of dubbele punten er tussen heb k het zo gedaan

Maar t werkt ieg dus je wordt hartelijk bedankt ;)
Gewijzigd op 07/01/2016 13:12:12 door Maarten van Rijssel
 
Ivo P

Ivo P

07/01/2016 13:30:52
Quote Anchor link
"maar het werkt", famous last words...

Het probleem is vaak, dat het nu inderdaad werkt, maar als je 30.000 records verder bent, komt iemand met een simpele vraag als "graag een filter op maand", of "alleen werkdagen" etc.

En dan heb je nu mogelijk 2 minuten meer werk, maar straks niet een dataset die je om moet bouwen en een heleboel query's om aan te passen.
(en ja, met date LIKE '__01___' vind je inderdaad ook je data, maar of dat nog snel is met tienduizenden records?)

Sorteren gaat al helemaal niet lukken, want '310116' is alfabetisch gezien groter dan '010216'
 
Maarten van Rijssel

Maarten van Rijssel

07/01/2016 13:32:01
Quote Anchor link
Dat is waar ja. Mss toch maar aanpassen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.