[SQL] Weekoverzicht drukste tijden *

Pagina: 1
Acties:

  • Bartistuta
  • Registratie: Juli 2001
  • Laatst online: 14-08 10:46
Hallo,
ik moet voor school voor een project een applet schrijven zodat leden online kunnen inloggen. Het gaat om een sportschool.
Nu moet ik ook gegevens uit de database halen.
Dit lukt allemaal, alleen nu wil ik van de vorige week laten zien wat de drukste tijden waren. Dus ik heb 2 tabellen waarin wordt gezet welk lid bij welke cursus/activiteit is ingeschreven en op welke datum en tijd.
Nu heb ik dit stukje:
Java:
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
  public void getWeekoverzicht() {
    DatabaseConnection.openConnection();
    try {
      resultset = DatabaseConnection.doQuery(String.valueOf(String.valueOf( (new 
          StringBuffer("SELECT Inschrijven_Cursus.inschrijfdatum, Inschrijven_Cursus.tijd FROM Inschrijven_Cursus WHERE date_part('week', Inschrijven_Cursus.inschrijfdatum) = date_part('week', now())")))), false);
      while (resultset.next()) {
        vectorweekoverzicht[0].addElement(resultset.getString("inschrijfdatum"));
        vectorweekoverzicht[1].addElement(resultset.getString("tijd"));
      }
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    try {
      resultset = DatabaseConnection.doQuery(String.valueOf(String.valueOf( (new
          StringBuffer("SELECT Inschrijven_Activiteit.inschrijfdatum, Inschrijven_Activiteit.tijd FROM Inschrijven_Activiteit WHERE date_part('week', Inschrijven_Activiteit.inschrijfdatum) = date_part('week', now())")))), false);
      while (resultset.next()) {
        vectorweekoverzicht[0].addElement(resultset.getString("inschrijfdatum"));
        vectorweekoverzicht[1].addElement(resultset.getString("tijd"));
      }
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
    DatabaseConnection.closeConnection();
  }

Ik vraag nu dus alle data en tijden op van deze week (moet vorige week). Hoe kan ik nu laten zien wat de drukste tijden zijn binnen deze sportschool?? En hoe kan ik de gegevens van de vorige week opvragen? week-1 lukt niet :(

P.S. Ik gebruik postgresql

[ Voor 12% gewijzigd door Bartistuta op 10-06-2003 17:02 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Erhm..
Kijk eens naar de COUNT en Group By Statements?
Zie ook:
http://www.w3schools.com/sql/default.asp

[ Voor 33% gewijzigd door gorgi_19 op 10-06-2003 16:22 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Bartistuta
  • Registratie: Juli 2001
  • Laatst online: 14-08 10:46
Hoe zou ik COUNT en GROUP BY dan moeten gebruiken? Nu haal ik alle datums van de week uit de database en stop die in een vector. Maar nu wil ik zeg maar per dag, laten zien wat de drukste tijden zijn. (bijv. vrijdag avond tussen 18:00 en 21:00)

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
COUNT records GROUP BY alle records van een bepaald tijdstip/periode

[ Voor 3% gewijzigd door Gert op 10-06-2003 17:21 ]


  • Bartistuta
  • Registratie: Juli 2001
  • Laatst online: 14-08 10:46
Ik heb het nu anders, ik heb 1 tabel met:
member memberaankomstdatum memberaankomsttijd

hier komt dus elke keer als een member er is een datum en tijd in.
Nu wil ik in java dus dat ik laat zien (van de vorige week) op maandag was het zo en zo laat het drukst, op dinsdag zo en zo...etc. Hoe moet dit :S Ik zit er al een hele tijd mee te kloten en het moet eigenlijk morgen af :(

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

zit er al een hele tijd mee te kloten en het moet eigenlijk morgen af
Uberhaupt snap ik niet waarom je dan niet eerder bent begonnen als het morgen af moet zijn..
Anyway, Gorgi_19 heeft je een waardevolle link gegeven voor de SQL statements GROUP BY() en COUNT(). Hiermee kan je de records grouperen en vervolgens met COUNT() het aantal records acherhalen, en als je dan ook nog een ORDER BY op deze count doet heb je wat je wilt hebben :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • Bartistuta
  • Registratie: Juli 2001
  • Laatst online: 14-08 10:46
Hij blijft bij mij errors geven :S, maakt het uit welke volgorde alles staat? Moet GROUP BY en COUNT na WHERE? Of voor? En werkt het hetzelfde in postgresql :S

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Bartistuta schreef op 10 juni 2003 @ 19:13:
Hij blijft bij mij errors geven :S, maakt het uit welke volgorde alles staat? Moet GROUP BY en COUNT na WHERE? Of voor? En werkt het hetzelfde in postgresql :S
Heb je uberhaupt al op de link geklikt? en de voorbeelden bekeken?
En wij hoeven hier verder geen errors te zien; deze krijgen we telepatisch door.

[ Voor 16% gewijzigd door gorgi_19 op 10-06-2003 19:16 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Bartistuta
  • Registratie: Juli 2001
  • Laatst online: 14-08 10:46
Ja, ik heb op die link geklikt.
ik heb mijn query nu zo:
StringBuffer("SELECT Member_Aankomst.* GROUP BY Member_Aankomst.memberaankomstdatum COUNT(Member_Aankomst.memberaankomstdatum) FROM Member_Aankomst WHERE date_part'week', Member_Aankomst.memberaankomstdatum) = date_part('week', now()) ORDER BY(Member_Aankomst.memberaankomstdatum)")))), false);

en jbuilder geeft de volgende error:
Fout!java.sql.SQLException: ERROR: parser: parse error at or near "COUNT" at character 71
null

Volgens mij heb ik het niet goed met de volgorde, maar ik weet niet hoe het wel moet.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Dit is dus geen java-topic maar een SQL topic, bij deze veranderd :)

Professionele website nodig?


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

SQL Syntax:

SELECT COUNT() FROM tabel WHERE conditional statement GROUP BY veldnaam

Er zit dus een fout in je query daar waar je je GROUP BY() plaatst :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • Bartistuta
  • Registratie: Juli 2001
  • Laatst online: 14-08 10:46
Ik heb nu het volgende:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    try {
      resultset = DatabaseConnection.doQuery(String.valueOf(String.valueOf( (new
          StringBuffer("SELECT Member_Aankomst.memberaankomstdatum, Member_Aankomst.memberaankomsttijd,"
                       " COUNT(*) FROM Member_Aankomst"
                       " WHERE date_part('week', Member_Aankomst.memberaankomstdatum) = date_part('week', now())"
                       " GROUP BY memberaankomstdatum, memberaankomsttijd"
                       " ORDER BY memberaankomstdatum ASC,"
                       " memberaankomsttijd ASC")))), false);
      while (resultset.next()) {
        vectorweekoverzicht[0].addElement(resultset.getString("memberaankomstdatum"));
        vectorweekoverzicht[1].addElement(resultset.getString("memberaankomsttijd"));
      }
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }


hij stopt nu dus netjes de datums en de tijden in 2 verschillende vectoren.
Maar nu wil ik weten hoe ik op het scherm krijg wat de drukste tijden van de week per dag zijn :S
Ik hoop dat jullie begrijpen wat ik bedoel en bedankt voor de hulp tot nu toe.
Ik denk dat ik op de goede weg zit ;)

modbreak: let eens wat op je layout, 5 schermen breed gaat niemand lezen hoor

[ Voor 17% gewijzigd door curry684 op 10-06-2003 20:37 ]


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Dat sorteer je eerst per dag en daarna per count, staan ze per dag, per drukte gesorteerd.
Pagina: 1