Klassement 'beste twintig' veranderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

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 »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

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

23/11/2024 09:05:38
 
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.