Klassement 'beste twintig' veranderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

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 »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Senior .Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »
Martin Rep

Martin Rep

16/08/2015 08:31:45
Quote Anchor link
Hai!

Voor het klassement van mijn mahjongclubje heb ik een algemeen klassement bedacht waarbij de beste 20 resultaten van iedere speler tellen.
In het bestand functions.php is dat als volgt gedefinieerd:

function standmetscoresmetid($id) {
// Get database connection
$db = JFactory::getDbo();

$qry = "SELECT SpelerID, SpelerNaam, Average, Aantal, Hoogste, Laagste "
. "FROM vwStand "
. "WHERE SeizoenID = " . $db->quote($id). " AND AANTAL<>0 ORDER BY Average DESC;";

$db->setQuery($qry);
$db->query();
$result=$db->loadRowList();

$tbl = new HTML_Table(null, 'display', 1, 0, 4, array('width'=>'100%'));

}

Maar deze methode bevalt me niet meer zo goed. Ik zou ook de "slechtste" resultaten willen laten
meetellen. Bijvoorbeeld de beste 10 en de slechtste 10, en daar dan het gemiddelde van.
Maar ik heb geen idee hoe ik de 'slechtste 10' moet definiëren.
Iemand een hint?? Alvast bedankt!
 
PHP hulp

PHP hulp

18/04/2024 23:30:42
 
Eddy E

Eddy E

16/08/2015 17:18:48
Quote Anchor link
Haal het stukje AND AANTAL <>0 eens weg...
Maar ik neem aan dat je de resultaten (of zelfs het aantal resultaten) niet bijhoudt in de rij bij de gebruiker... maar die gewoon elke keer opnieuw berekent/bekijkt in de tabel met resultaten...
 
Martin Rep

Martin Rep

16/08/2015 18:41:39
Quote Anchor link
Eddy E op 16/08/2015 17:18:48:
Maar ik neem aan dat je de resultaten (of zelfs het aantal resultaten) niet bijhoudt in de rij bij de gebruiker... maar die gewoon elke keer opnieuw berekent/bekijkt in de tabel met resultaten...


Ja, dat klopt. (Het nadeel is ook dat het openen van de html-pagina waarop het klassement staat, langt duurt
omdat alle resultaten opnieuw geëvalueerd moeten worden.)
Gewijzigd op 16/08/2015 18:42:17 door Martin Rep
 
Frank Nietbelangrijk

Frank Nietbelangrijk

16/08/2015 19:01:09
Quote Anchor link
Uhm je database indeling aub? (dus welke tabellen heb je en welke kolommen zitten er in de tabellen)
 
Martin Rep

Martin Rep

16/08/2015 21:52:37
Quote Anchor link
Eh… hier val ik een beetje door de mand als php-nitwit.
Je kunt de html-tabel hier 'live' zien, help dat?

http://www.furiten.nl/klassement1516.html

(deze tabel heeft het bovengemelde probleem nog nauwelijks; op
dit moment is er slechts één speler die 20+ wedstrijden heeft
gespeeld)
Gewijzigd op 16/08/2015 21:59:12 door Martin Rep
 
Martin Rep

Martin Rep

17/08/2015 23:17:17
Quote Anchor link
…ik kom hier niet verder, zie ik. Ik zal het eens proberen op het Engelstalige PHP-forum. Toch
bedankt!
 
Marthijn Buijs

Marthijn Buijs

18/08/2015 07:34:42
Quote Anchor link
Hoezo? Op dit forum zijn er mensen genoeg die jouw kunnen helpen..
 
Martin Rep

Martin Rep

18/08/2015 07:38:42
Quote Anchor link
Daar had ik op gehoopt, Maarten, maar tot nu toe kom ik er niet uit. Maar de hint is duidelijk: ik geef het nog niet op! Misschien meer geduld nodig… ;-)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/08/2015 08:06:14
Quote Anchor link
Het handigste lijkt mij als je een extra kolom 'average_score' toevoegt. En dan heb je enkel eenmalig een goede functie / formule nodig die de hoogte van de 'gemiddelde score' berekent. De uitkomst schrijf je weg in dit veld en vervolgens hoef je alleen maar

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT SpelerID, SpelerNaam, Average, Aantal, Hoogste, Laagste
FROM vwStand
WHERE SeizoenID = 5
ORDER BY average_score DESC
LIMIT 20


te doen.
 
Martin Rep

Martin Rep

18/08/2015 10:38:48
Quote Anchor link
Dit komt in de goede richting, Frank! Maar op deze manier krijg je toch niet het gemiddelde van de beste 20 en de slechtste 20 partijen (van een speler
die bijvoorbeeld al 100 partijen heeft gespeeld (van wie in het door mij bedoelde model dus 60 partijen niet worden meegenomen in het gemiddelde).

Dank!
 
Jacco Engel

Jacco Engel

18/08/2015 11:25:07
Quote Anchor link
Tijd om het over een andere boeg te gooien dan :P

Kun je iets met deze denkrichting mischien?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT ((high.hoogste + low.laagste) / 20) as average FROM
    (SELECT SUM(Average) as hoogste FROM vwStand order by Average DESC limit 10) as high,
    (SELECT SUM(Average) as laagste FROM vwStand order by Average ASC limit 10) as low
;

Dit zou volgens mij het gemiddelde van de hoogste en laagste 10 gemiddelden moeten geven, maar bind me er niet op vast.

Denk dat dit meer de richting is waar je in moet denken als je het allemaal in SQL wil doen.
 
Martin Rep

Martin Rep

18/08/2015 11:46:12
Quote Anchor link
Hier kan ik wel wat mee ;-)
Ik ga ermee aan de slag en meld me weer als ik meer weet.

Dank (^^)
 
Jan de Laet

Jan de Laet

18/08/2015 12:41:10
Quote Anchor link
Maar wat krijg je dan als resultaat als er minder dan 20 resultaten zijn?
De hoogste 10 en de laagste 10 overlappen dan.
Gewijzigd op 18/08/2015 12:42:16 door Jan de Laet
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/08/2015 11:45:00
Quote Anchor link
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
SELECT
    s.SpelerID,
    s.SpelerNaam,
    s.Aantal,
    AVG(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) gemiddelde,
    MAX(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) hoogste,
    MIN(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) laagste
FROM
    (
    SELECT
        d.SpelerID,
        d.SpelerNaam,
        COUNT(*) Aantal
    FROM
        deelnemers d
    JOIN
        resultaten r1
        ON d.SpelerID = r1.SpelerID
    WHERE r1.SeizoenID = 5
    GROUP BY d.SpelerID
    ) s
JOIN
    (
    SELECT
        @rijnummer := CASE WHEN ro.SpelerID <> @id THEN 1 ELSE @rijnummer + 1 END rijnummer,
        @id := ro.SpelerID SpelerID,
        ro.score
    FROM
        (
        SELECT
            d1.SpelerID,
            r2.Score
        FROM
            deelnemers d1
        JOIN
            resultaten r2
            ON d1.SpelerID = r2.SpelerID
        WHERE r2.SeizoenID = 5
        ORDER BY d1.SpelerID, r2.score
        ) ro
    CROSS JOIN
        (
        SELECT
            @rijnummer := 1,
            @id := 0
        ) var
    ) r
    ON s.SpelerID = r.SpelerID
GROUP BY s.SpelerID, s.SpelerNaam, s.Aantal
ORDER BY gemiddelde DESC,s.Aantal

De eerste subquery haalt de spelers en het totaal aantal gespeelde partijen op.
De tweede haalt alle resultaten op en nummert deze per speler (in PostGres/Oracle/SQLserver etc gaat dit veel eenvoudiger).

Dit wordt dan gebruikt om te bepalen welke resultaten mee moeten worden genomen in de aggegrate functies (NULL wordt genegeerd)

Edit:
JOIN Conditions toegevoegd
Gewijzigd op 19/08/2015 13:14:11 door Ger van Steenderen
 
Martin Rep

Martin Rep

29/08/2015 20:54:27
Quote Anchor link
Ger van Steenderen op 19/08/2015 11:45:00:

De eerste subquery haalt de spelers en het totaal aantal gespeelde partijen op.
De tweede haalt alle resultaten op en nummert deze per speler (in PostGres/Oracle/SQLserver etc gaat dit veel eenvoudiger).

Dit wordt dan gebruikt om te bepalen welke resultaten mee moeten worden genomen in de aggegrate functies (NULL wordt genegeerd)


Ger, dit ziet er heel indrukwekkend uit, maar toch kom ik er niet helemaal uit. Kun jij me de weg wijzen in wat voor bestand ik deze code moet plakken?
Dank!
Gewijzigd op 29/08/2015 20:55:31 door Martin Rep
 
Eddy E

Eddy E

29/08/2015 21:04:26
Quote Anchor link
Dit haal in 1 query het SpelerID, SpelerNaam, Aantal, Gemiddelde, Hoogste en Laagste op.
Probeer de query eens gewoon uit en kijk met print_r() wat hij terug geeft.
 
Martin Rep

Martin Rep

25/10/2015 20:17:15
Quote Anchor link
Hai Ger van Steenderen - Complimenten, briljant! Pas vandaag kon ik er iemand bij halen die veel meer verstand heeft van PHP dan ik en die mij geholpen heeft je script te implementeren. We hadden het niet verwacht, maar het werkt, met wat kleine aanpassingen. Het is verder een kwestie van een beetje peuteren en dan werkt het allemaal.
Eén vraag nog. Er zijn grote verschillen in de aantallen wedstrijden die spelers afwerken. Nu loop je de (theoretische) kans dat een speler één keer speelt, een topscore haalt en het dan verder voor gezien houdt. Op die manier zou hij kampioen worden.
In onze huidige ranking lossen we dat op door alle spelers die minder dan 20 wedstrijden hebben gespeeld, 30.000 punten voor iedere niet-gespeelde wedstrijd te geven.Dat zou ook in de nieuwe oplossing passen.
Hoe kunnen we dat implementeren in jouw script?
Nogmaals enorm bedankt, ben hier erg blij mee.
Martin
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/10/2015 08:06:50
Quote Anchor link
Dan gebruik je in plaats van AVG() SUM() en bij minder dan 20 wedstrijden tel je er een x aantal bij op.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
    (SUM(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) + CASE
            WHEN s.Aantal < 20 THEN (20-s.Aantal) * 30000
            ELSE 0 END) / 20 gemiddelde,
 
Martin Rep

Martin Rep

28/10/2015 23:06:41
Quote Anchor link
Kan ik je een PM sturen, en zo ja, hoe?


Toevoeging op 29/10/2015 06:56:35:

Martin Rep op 28/10/2015 23:06:41:
Kan ik je een PM sturen, en zo ja, hoe?

…Je hebt 'm al! (^^)
 



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.