Likes Likes:  0
Resultaten 1 tot 11 van de 11
Geen

Onderwerp: Mysql Join probleem

  1. #1
    Evert
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Mysql Join probleem

    Hallo,

    Ik heb het volgende probleem, en ik kan er niet uit komen

    Ik heb een tabel met de uitslagen van boter kaas en eieren, die ziet er zo
    uit

    mysql> describe tictactoe;
    +--------+--------------+------+-----+---------------------+----------------
    +
    | Field | Type | Null | Key | Default | Extra
    |
    +--------+--------------+------+-----+---------------------+----------------
    +
    | id | int(11) | | PRI | NULL | auto_increment
    |
    | time | datetime | YES | | 0000-00-00 00:00:00 |
    |
    | name | varchar(100) | YES | | |
    |
    | ai | varchar(100) | YES | | |
    |
    | winner | int(11) | | | 0 |
    |
    +--------+--------------+------+-----+---------------------+----------------
    +
    5 rows in set (0.00 sec)

    (misschien moet je je font ff anders instellen voor een goede weergave)

    Als Winner 1 is, dan heeft de speler gewonnen,
    als Winner 2 is, dan heeft de computer gewonnen,
    en als Winner 3 is dan was het gelijkspel

    Nu wil ik een andere tabel genereren, met de volgende kolommen: De naam van
    de speler (name), aantal keren verloren, aantal keren gewonnen, aantal keren
    gelijkspel.

    Een group by name dus

    Hoe doe ik dit? Want een count telt alle rijen, en dat moeten we niet
    hebben.

    Groeten,
    Evert



  2. #2
    Rick
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem


    "Evert" <evert@isflex.nl> schreef in bericht
    news:j9wCa.321543$me2.37540113@amsnews02.chello.co m...
    > Hallo,
    >
    > Ik heb het volgende probleem, en ik kan er niet uit komen
    >
    > Ik heb een tabel met de uitslagen van boter kaas en eieren, die ziet er zo
    > uit
    >
    > mysql> describe tictactoe;
    >

    +--------+--------------+------+-----+---------------------+----------------
    > +
    > | Field | Type | Null | Key | Default | Extra
    > |
    >

    +--------+--------------+------+-----+---------------------+----------------
    > +
    > | id | int(11) | | PRI | NULL |

    auto_increment
    > |
    > | time | datetime | YES | | 0000-00-00 00:00:00 |
    > |
    > | name | varchar(100) | YES | | |
    > |
    > | ai | varchar(100) | YES | | |
    > |
    > | winner | int(11) | | | 0 |
    > |
    >

    +--------+--------------+------+-----+---------------------+----------------
    > +
    > 5 rows in set (0.00 sec)
    >
    > (misschien moet je je font ff anders instellen voor een goede weergave)
    >
    > Als Winner 1 is, dan heeft de speler gewonnen,
    > als Winner 2 is, dan heeft de computer gewonnen,
    > en als Winner 3 is dan was het gelijkspel
    >
    > Nu wil ik een andere tabel genereren, met de volgende kolommen: De naam

    van
    > de speler (name), aantal keren verloren, aantal keren gewonnen, aantal

    keren
    > gelijkspel.
    >
    > Een group by name dus
    >
    > Hoe doe ik dit? Want een count telt alle rijen, en dat moeten we niet
    > hebben.
    >
    > Groeten,
    > Evert
    >
    >


    Door middel van een SUM van het aantal overwinningen en een join op name dan
    (let wel op dat het veld waarop je joined ook een varchar (100) is.
    --
    Slechte webdesigners? Geef ze hier aan:
    http://webdesignert.vectoris.nl/



  3. #3
    Evert
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem


    "Rick" <spammans@chello.nl> schreef in bericht
    news:bbg7h5$1v1k$1@nl-news.euro.net...
    >
    >
    > Door middel van een SUM van het aantal overwinningen en een join op name

    dan
    > (let wel op dat het veld waarop je joined ook een varchar (100) is.
    > --
    > Slechte webdesigners? Geef ze hier aan:
    > http://webdesignert.vectoris.nl/
    >


    Zou je misschien iets duidelijker willen zijn? Het lukt me nog wel als ik
    alleen een kolom wil met overwinningen, als ik ook die van verliezen en
    gelijkspel wil doen, telt SUM gewoon alles op.

    Groeten,
    Evert



  4. #4
    Rick
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem


    "Evert" <evert@isflex.nl> schreef in bericht
    news:iuOCa.335947$me2.38970323@amsnews02.chello.co m...
    >
    > "Rick" <spammans@chello.nl> schreef in bericht
    > news:bbg7h5$1v1k$1@nl-news.euro.net...
    > >
    > >
    > > Door middel van een SUM van het aantal overwinningen en een join op name

    > dan
    > > (let wel op dat het veld waarop je joined ook een varchar (100) is.
    > > --
    > > Slechte webdesigners? Geef ze hier aan:
    > > http://webdesignert.vectoris.nl/
    > >

    >
    > Zou je misschien iets duidelijker willen zijn? Het lukt me nog wel als ik
    > alleen een kolom wil met overwinningen, als ik ook die van verliezen en
    > gelijkspel wil doen, telt SUM gewoon alles op.
    >
    > Groeten,
    > Evert
    >

    Even uit mijn hoofd dus er zal wel een fout inzitten:

    SELECT tictactoe.name, overwinning.name, SUM(overwinning.winnen) as gewonnen
    FROM tictactoe, overwinning WHERE tictactoe.name = overwinning.name

    Ik ga er overigens vanuit dat er bij een gewonnen partij een 1 staat bij
    "winnen"
    --
    Slechte webdesigners? Geef ze hier aan:
    http://webdesignert.vectoris.nl/



  5. #5
    Evert
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem

    Hallo,

    Bedankt voor je reactie, maar dit is niet helemaal wat ik wil.
    Het probleem is dat er maar 1 tabel is (tictactoe) en daar daar is dus 1
    kolom (winner) die 1, 2 of 3 kan bevatten.
    De tabel die ik wil genereren met een SELECT statement moet de volgende
    kolommen hebben:

    Naam, Overwinningen, Verliezen, Gelijkspel

    Dan wordt het dus een probleem. Volgens mij moet er nu namelijk minstens 3x
    de tictactoe tabel worden gebruikt bijvoorbeeld: FROM tictactoe as t1,
    tictactoe as t2, tictactoe as t3 en dat krijg ik dus niet goed voorelkaar
    omdat SUM alle waarden wil optellen. Misschien dat het lukt met sub-queries,
    maar ik weet ook niet of MySQL dat ondersteunt.

    Bij voorbaat dank ,
    Evert

    "Rick" <spammans@chello.nl> schreef in bericht
    news:bbhfs7$2g64$1@nl-news.euro.net...
    >
    > Even uit mijn hoofd dus er zal wel een fout inzitten:
    >
    > SELECT tictactoe.name, overwinning.name, SUM(overwinning.winnen) as

    gewonnen
    > FROM tictactoe, overwinning WHERE tictactoe.name = overwinning.name
    >
    > Ik ga er overigens vanuit dat er bij een gewonnen partij een 1 staat bij
    > "winnen"
    > --
    > Slechte webdesigners? Geef ze hier aan:
    > http://webdesignert.vectoris.nl/
    >
    >




  6. #6
    Rick
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem


    "Evert" <evert@isflex.nl> schreef in bericht
    news:8b2Da.351376$me2.40171318@amsnews02.chello.co m...
    Misschien dat het lukt met sub-queries,
    > maar ik weet ook niet of MySQL dat ondersteunt.
    >
    > Bij voorbaat dank ,
    > Evert


    Subqueries kunnenn bij mijn weten alleen mysql 4.x, dus ja het zou mogelijk
    kunnen zijn, mits je dan mysql 4.x gebruikt.
    --
    Slechte webdesigners? Geef ze hier aan:
    http://webdesignert.vectoris.nl/



  7. #7
    Rick
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem


    "Evert" <evert@isflex.nl> schreef in bericht
    news:8b2Da.351376$me2.40171318@amsnews02.chello.co m...
    > Hallo,
    >
    > Bedankt voor je reactie, maar dit is niet helemaal wat ik wil.
    > Het probleem is dat er maar 1 tabel is (tictactoe) en daar daar is dus 1
    > kolom (winner) die 1, 2 of 3 kan bevatten.
    > De tabel die ik wil genereren met een SELECT statement moet de volgende
    > kolommen hebben:
    >
    > Naam, Overwinningen, Verliezen, Gelijkspel
    >

    Overigens waarom gebruik je niet meerdere queries hiervoor (3 om precies te
    zijn ) dus eentje voor winst, eentje voor verlies en eentje voor
    gelijkspel?


    --
    Slechte webdesigners? Geef ze hier aan:
    http://webdesignert.vectoris.nl/



  8. #8
    Evert
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem

    Ja, dat kan natuurlijk ook, maar dat is ook gelijk een stuk meer werk met
    PHP Een mooiere oplossing leek mij met een enkele SQL query, maar alst
    niet anders is, dan ist niet anders I.i.g, bedankt voor de moeite

    Groeten,
    Evert

    "Rick" <spammans@chello.nl> schreef in bericht
    news:bbibn9$2ssg$1@nl-news.euro.net...
    > Overigens waarom gebruik je niet meerdere queries hiervoor (3 om precies

    te
    > zijn ) dus eentje voor winst, eentje voor verlies en eentje voor
    > gelijkspel?
    >
    >
    > --
    > Slechte webdesigners? Geef ze hier aan:
    > http://webdesignert.vectoris.nl/
    >
    >




  9. #9
    Rick
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem


    "Evert" <evert@isflex.nl> schreef in bericht
    news:3H2Da.351744$me2.40226410@amsnews02.chello.co m...
    > Ja, dat kan natuurlijk ook, maar dat is ook gelijk een stuk meer werk met
    > PHP Een mooiere oplossing leek mij met een enkele SQL query, maar alst
    > niet anders is, dan ist niet anders I.i.g, bedankt voor de moeite
    >
    > Groeten,
    > Evert
    >

    Ik denk dat je qua snelheid misschien nog wel winst pakt. Uiteraard is het
    wat meer progwerk, maar ik denk dat je database je een stuk aardiger vindt
    . In principe zorgt een join meestal voor tijdsverlies of een hogere
    parsetime in het algemeen .

    --
    Slechte webdesigners? Geef ze hier aan:
    http://webdesignert.vectoris.nl/



  10. #10
    henq
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem

    experimenteer eens met zoiets:

    SELECT
    name,
    count(IF(winner=1,1,NULL)) AS 'gewonnen',
    count(IF(winner=2,1,NULL)) AS 'verloren',
    count(IF(winner=3,1,NULL)) AS 'gelijk',
    FROM tictactoe
    GROUP BY name


    pingpong het resultaat, ik kan het zonder tabel hier niet testen.
    of post anders een deel van de tabel als dump (create tabel plus inserts)


    ~h



    "Evert" <evert@isflex.nl> schreef in bericht
    news:j9wCa.321543$me2.37540113@amsnews02.chello.co m...
    > Hallo,
    >
    > Ik heb het volgende probleem, en ik kan er niet uit komen
    >
    > Ik heb een tabel met de uitslagen van boter kaas en eieren, die ziet er zo
    > uit
    >
    > mysql> describe tictactoe;
    >

    +--------+--------------+------+-----+---------------------+----------------
    > +
    > | Field | Type | Null | Key | Default | Extra
    > |
    >

    +--------+--------------+------+-----+---------------------+----------------
    > +
    > | id | int(11) | | PRI | NULL |

    auto_increment
    > |
    > | time | datetime | YES | | 0000-00-00 00:00:00 |
    > |
    > | name | varchar(100) | YES | | |
    > |
    > | ai | varchar(100) | YES | | |
    > |
    > | winner | int(11) | | | 0 |
    > |
    >

    +--------+--------------+------+-----+---------------------+----------------
    > +
    > 5 rows in set (0.00 sec)
    >
    > (misschien moet je je font ff anders instellen voor een goede weergave)
    >
    > Als Winner 1 is, dan heeft de speler gewonnen,
    > als Winner 2 is, dan heeft de computer gewonnen,
    > en als Winner 3 is dan was het gelijkspel
    >
    > Nu wil ik een andere tabel genereren, met de volgende kolommen: De naam

    van
    > de speler (name), aantal keren verloren, aantal keren gewonnen, aantal

    keren
    > gelijkspel.
    >
    > Een group by name dus
    >
    > Hoe doe ik dit? Want een count telt alle rijen, en dat moeten we niet
    > hebben.
    >
    > Groeten,
    > Evert
    >
    >




  11. #11
    Evert
    Mysql Join probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Mysql Join probleem

    "henq >" <henq _ replace 0 by o <hvtijen@h0tmail.c0m> :
    > experimenteer eens met zoiets:
    >
    > SELECT
    > name,
    > count(IF(winner=1,1,NULL)) AS 'gewonnen',
    > count(IF(winner=2,1,NULL)) AS 'verloren',
    > count(IF(winner=3,1,NULL)) AS 'gelijk',
    > FROM tictactoe
    > GROUP BY name
    >
    >


    Perfect! Precies wat is moest hebben Je hebt iemand blij gemaakt!

    Groeten,
    Evert



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics