MySQL query hulp

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »

Medior/senior PHP ontwikkelaar E-commerce

Functie Het software development team bestaat momenteel 5 scrum teams . Ieder team heeft een eigen SCRUM Master en eigen tester. Zij werken voornamelijk in PHP en met hun eigen geschreven framework wat Symfony based is . Jij bent samen met je collega’s verantwoordelijk voor het interne softwaresysteem en alle projecten die daar omheen lopen. Alles wat jij ontwikkelt, wordt direct toegepast en uitgerold (wereldwijd). Dit maakt jouw werk tastbaar en uitdagend! Een greep uit jouw werkzaamheden: Toevoegen en ontwikkelen van nieuwe functionaliteiten Logistieke software ontwikkelen voor intern gebruik Tientallen gigabytes aan data inzichtelijk maken Altijd op zoek gaan naar

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

Fullstack developer

Functie omschrijving We are looking for a dutch native speaker Wil jij werken als Senior Developer en werken aan een applicatie die duizenden marketingcampagnes automatisch aanstuurt? Dit is je kans! Kom werken voor onze opdrachtgever en in deze rol zul je veel vrijheid en verantwoordelijkheid krijgen om gezamenlijk de applicatie naar een hoger plan te tillen. Wat ga je verder doen: Optimaliseren, beheren en uitbreiden van onze applicatie; Het bouwen van aansluitingen op de systemen van partners middels API’s; Meedenken over de technische/ontwikkel-standaarden; Proactief verbeterpunten voorstellen. Bedrijfsprofiel Het is een organisatie die met een team van verschillende developers én marketeers

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

Bekijk vacature »

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

Bekijk vacature »
Liefhebber Laravel

Liefhebber Laravel

15/11/2016 08:54:04
Quote Anchor link
Hoi,

Kunnen jullie me even helpen om een juiste query op te bouwen: Dit is mijn tabel met evenementen:
(Weet dat de echte tabel ongeveer 3000 evenementen bevat!)

idtitlestartend
10evenement12016-11-05 08:00:002016-11-05 10:00:00
11evenement22016-11-06 09:00:002016-11-06 12:00:00
12evenement32016-11-06 14:00:002016-11-06 16:00:00
13evenement42016-11-08 10:00:002016-11-06 12:00:00
14evenement52016-11-08 10:00:002016-11-06 12:00:00


Ik zou een lijst willen verkrijgen van alle uren / gegroepeerd per dag dat er zich een evenement voordeed.
Dus: de lijst die ik hier wil verkrijgen is:

  • Datum: 2016-11-05 - Aantal uren: 2:00:00
  • Datum: 2016-11-06 - Aantal uren: 5:00:00
  • Datum: 2016-11-08 - Aantal uren: 2:00:00


Merk op dat op datum 6/11 2 evenementen waren, die opgeteld zijn
Merk op dat op datum 8/11 ook 2 evenementen waren maar dat die overlapten, en deze zijn dus samengeteld !!

Kunnen jullie me een query bezorgen die dit resultaat geeft?

Alvast bedankt!

Groetjes!
Gewijzigd op 15/11/2016 08:54:43 door Liefhebber Laravel
 
PHP hulp

PHP hulp

19/04/2024 06:25:59
 
Adoptive Solution

Adoptive Solution

15/11/2016 11:46:40
Quote Anchor link
Probeer het eens met :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
sum( end-uur - start-uur  )


en :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
group by start-datum
 
Liefhebber Laravel

Liefhebber Laravel

15/11/2016 12:09:39
Quote Anchor link
Hoi Adoptive Solution,

Dit lijkt te werken, ik krijg dan wel de tijd terug als een integer. Bijvoorbeeld 5:30 uren verschil wordt getoond als 53000
Bestaat er een functie om dit terug om te zetten naar 05:30:00 of moet ik de : er via SUBSTRING tussenplaatsen?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/11/2016 12:32:08
 
Adoptive Solution

Adoptive Solution

15/11/2016 12:35:06
Quote Anchor link
Ik zag de vraag al aankomen.

Met behulp van date_format() kan je het verfijnen.

Hier een voorbeeld van een bestand (zonder datum) met begin- en eindtijd die de totaal uren opsomt per heel uur :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT *, date_format(begin,'%H') AS uur, SUM(date_format(einde,'%H') - date_format( begin, '%H')) AS uren FROM afspraken GROUP BY uur
 
Liefhebber Laravel

Liefhebber Laravel

15/11/2016 13:49:50
Quote Anchor link
Naar het voorstel van Adaptive Solution:
volgende SQL geeft niet het juiste resultaat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT DATE(start) AS datum, SUM( TIME(end) - TIME(start)) as tijd FROM events GROUP BY start


Resultaat:
datumtijd
2016-11-0520000
2016-11-0630000
2016-11-0620000
2016-11-0840000


  • datum 06/11 komt in 2 regels voor, en dit moet opgeteld zijn
  • datum 08/11 wordt als 40000 (4:00h) weergegeven terwijl dit maar 2:00 moet zijn (deze overlappen)




Toevoeging op 15/11/2016 14:04:27:

Hier eventueel de code om de tabel lokaal te importeren. Om te testen indien nodig.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DROP TABLE IF EXISTS `events`;
CREATE TABLE `events` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(20) DEFAULT NULL,
  `start` datetime DEFAULT NULL,
  `end` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

INSERT INTO `events` VALUES ('1', 'evenement1', '2016-11-05 08:00:00', '2016-11-05 10:00:00');
INSERT INTO `events` VALUES ('2', 'evenement2', '2016-11-06 09:00:00', '2016-11-06 12:00:00');
INSERT INTO `events` VALUES ('3', 'evenement3', '2016-11-06 14:00:00', '2016-11-06 16:00:00');
INSERT INTO `events` VALUES ('4', 'evenement4', '2016-11-08 10:00:00', '2016-11-08 12:00:00');
INSERT INTO `events` VALUES ('5', 'evenement5', '2016-11-08 10:00:00', '2016-11-08 12:00:00');
Gewijzigd op 15/11/2016 13:52:12 door Liefhebber Laravel
 
Adoptive Solution

Adoptive Solution

15/11/2016 14:52:33
Quote Anchor link
Met dank aan de interwebs :

http://www.google.nl/search?q=how+to+calculate+the+time+difference+in+mysql

Dit gefabriekt :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
select *, timediff(end,start) as uren from events;
select *, date_format(start,'%Y-%c-%d') as dag, sum(timediff(end,start)) as uren from events group by dag;
Gewijzigd op 15/11/2016 14:56:20 door Adoptive Solution
 
Liefhebber Laravel

Liefhebber Laravel

15/11/2016 15:02:11
Quote Anchor link
Hoi Adaptive Solution,

Deze query geeft nog steeds de foute resultaten... bij 8/11 telt hij 4 uren, maar dat zou 2 moeten zijn omdat die overlappen...

bedankt voor je tijd alvast!
 
Ivo P

Ivo P

15/11/2016 17:05:36
Quote Anchor link
die overlap is nu net wat het zo ontzettend ingewikkeld maakt.

van 14 tot 16 uur en van 17 tot 20 uur is gewoon een optelling
van 14 tot 16 uur en van 15 uur tot 18 uur is het verschil tussen 18 en 14.

Daar kun je mogelijk nog een mooie formule op loslaten die bepaalt of het eerste tijdstip van de 2e event kleiner is dan de eindtijd van de eerste, maar dan zit je nog weer te kijken met de situatie waarbij event 1 pas begon na event 2

en zo'n formule moet overweg kunnen met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--------  
           +++++++
en
------------
         +++++++
en
-------------
  +++++
en
-------
+++++++
en
   -----
+++++
en
     ----
++++


en is het ook nog mogelijk dat er meer dan 2 events op een dag zijn?




Toevoeging op 15/11/2016 17:07:59:

Naast DATE_FORMAT() bestaat ook de functie HOUR()
Die is misschien wat mooier om het uur te bepalen?

BTW: gewoon GROUP BY in een query gooien, zeker als er ook nog SELECT * in de query voorkomt, leidt al gauw tot rare resultaten die soms toevallig geven wat je zocht, maar mogelijk niet altijd
 
Liefhebber Laravel

Liefhebber Laravel

16/11/2016 08:27:36
Quote Anchor link
Hoi Ivo P en anderen,

bedankt voor je reactie! Inderdaad, die overlap maakt het ingewikkeld. Ik denk dat ik best alle data per dag binnenhaal, en op PHP hoogte even vergelijk met elkaar, om zo het juiste aantal uren te bepalen.

Ik vul nu een array als volgt op:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[03-11-2016] => Array
(
 [start] => Array
     (
         [0] => 12:25:00
         [1] => 14:55:00
         [2] => 19:00:00
     )
 [end] => Array
     (
         [0] => 14:30:00
         [1] => 17:25:00
         [2] => 20:45:00
     )
)


start[0] en end[0] is bv de eerste evenementtijd.
bestaat er een logica/formule om deze te vergelijken en zo het aantal actieve uren te berekenen?

NB; de uren zijn steeds gesorteerd van vroeg naar laat.

Toevoeging op 16/11/2016 09:24:33:

Heren,

ik heb net deze link gevonden: Klik hier

Hier staat een mySQL query die doet wat ik nodig heb! Maar ik krijg hem niet aangepast naar mijn tabel: hier is mijn query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
select DATE(start) as date, TIME_FORMAT(SEC_TO_TIME(sum(secs)), '%h:%i')
from (select t.*,
             @time := if(@sum = 0, 0, TIME_TO_SEC(TIMEDIFF(TIME(start), @prevtime))) as secs,
             @prevtime := TIME(start),
             @sum := @sum + isstart
      from ((select DATE(start), TIME(start), 1 as isstart
             from events t
            ) union all
            (select DATE(start), TIME(end), -1
             from events t
            )
           ) t cross join
           (select @sum := 0, @time := 0, @prevtime := 0) vars
      order by 1, 2
     ) t
group by date;


Ik krijg de foutmelding "Unknown column 'start' in 'field list'

Aan de SQL specialisten: Wat doe ik fout?
Gewijzigd op 16/11/2016 08:29:32 door Liefhebber Laravel
 
Thomas van den Heuvel

Thomas van den Heuvel

16/11/2016 14:57:57
Quote Anchor link
Alternatieve oplossing: sla (afleidbare) tussenresultaten op: introduceer een extra kolom met de tijdsduur. Dit maakt je query vele malen eenvoudiger.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/11/2016 13:14:57
Quote Anchor link
@Jan
In de subquery met de union heb je geen aliassen op DATE(start) en TIME(start).
Hoe dan ook zal de oplossing van SO in jouw geval niet werken, want dan moet je gaan bijhouden wanneer de datum veranderd.
Daarnaast zullen events die op andere datum beginnen dan ze eindigen niet goed door gerekend worden.

Onderstaande methode werkt met datasets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT DATE(t.period_start) adate, SEC_TO_TIME(SUM(t.secs)) atime
FROM
    (SELECT p.period_start,
            CASE WHEN COUNT(e.id) > 0 THEN 900 ELSE 0 END secs
    FROM
        (SELECT
            @begin_period := @begin_period + interval 15 MINUTE period_start,
            @end_period := @begin_period + INTERVAL 14 MINUTE period_end
        FROM
            information_schema.COLLATIONS
        CROSS JOIN
            information_schema.COLLATIONS x
        CROSS JOIN
            (SELECT @begin_period := CURRENT_DATE - INTERVAL 6 DAY - INTERVAL 15 MINUTE) var
        WHERE @begin_period + INTERVAL 29 MINUTE < CURRENT_DATE + INTERVAL 1 DAY
        ) p
    LEFT JOIN
        events e ON p.period_start < e.end_time AND p.period_end > e.start_time
    GROUP BY p.period_start
    ) t
GROUP BY adate

De subquery p genereert een dataset (virtuele tabel) met een interval van 15 minuten van de afgelopen 7 dagen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
+ ------------------- + ------------------- +
| period_start        | period_end          |
+ ------------------- + ------------------- +
| 2016-11-13 00:00:00 | 2016-11-13 00:14:00 |
| 2016-11-13 00:15:00 | 2016-11-13 00:29:00 |
| 2016-11-13 00:30:00 | 2016-11-13 00:44:00 |
| 2016-11-13 03:00:00 | 2016-11-13 03:59:00 |
.....
| 2016-11-19 22:45:00 | 2016-11-19 22:59:00 |
| 2016-11-19 23:00:00 | 2016-11-19 23:14:00 |
| 2016-11-19 23:15:00 | 2016-11-19 23:29:00 |
| 2016-11-19 23:30:00 | 2016-11-19 23:44:00 |
| 2016-11-19 23:45:00 | 2016-11-19 23:59:00 |
+ ------------------- + ------------------- +

Dan een left join op events die in dat bereik plaats hebben, en via COUNT(id) wordt dan bepaald of een bereik mee geteld moet worden.
SQL Fiddle
Gewijzigd op 19/11/2016 13:18:13 door Ger van Steenderen
 



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.