[ACCES] Best Verkopende Product

Pagina: 1
Acties:

  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Ik heb de volgende tabbellen structuur gemaakt met access voor een database:

Afbeeldingslocatie: http://www.kosterman.net/sql/structuur.JPG

In die database moet ik query hebben die het volgende uitvoert:
- Wat is het best verkopende product?

Ik ben nu tot de volgende code gekomen:
code:
1
2
3
SELECT Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product;


Deze selecteert echter niet alleen het meeste verkochte product, maar de hoeveelheid die verkocht is per alle producten dus:

Afbeeldingslocatie: http://www.kosterman.net/sql/uitkomst.JPG

Is er iemand die mij hier veder mee kan helpen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:35
TOP en ORDER BY

code:
1
2
3
4
SELECT TOP 1 sum( .... ) as verkopen, prodid
from verkopen
group by prodid
order by verkopen desc

[ Voor 80% gewijzigd door whoami op 21-04-2005 09:30 ]

https://fgheysels.github.io/


  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
Thnx ut werkt, ik heb nu het volgende:
[code]SELECT TOP 1 Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product
ORDER BY verkopen.product DESC;[/code]


Dit klopt niet helemaal want ik sorteer nu op het product, en ik moet sorteren op de hoeveelheid, echter kan dat niet omdat ik die gebruik een z'on rekenkundige functie. :?

[ Voor 33% gewijzigd door renekosterman op 21-04-2005 09:33 ]


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 28-02 22:22
code:
1
2
3
SELECT Top 1 Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product;


Eventueel kun je ook nog ORDER BY Verkopen DESC of ORDER BY Verkopen ASC toevoegen aan het einde.

[ Voor 0% gewijzigd door Arnaud op 21-04-2005 09:34 . Reden: Great minds think alike :D ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:35
Arnaud schreef op donderdag 21 april 2005 @ 09:32:
code:
1
2
3
SELECT Top 1 Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product;


Eventueel kun je ook nog ORDER BY Verkopen DESC of ORDER BY Verkopen ASC toevoegen aan het einde.
Kunnen ?
Dat moet je doen, want anders heeft die top geen zin.
Ik geloof zelfs dat sql server een error geeft als je een top doet zonder order by, maar dat ben ik niet zeker.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:35
downtime schreef op donderdag 21 april 2005 @ 09:31:
Thnx ut werkt, ik heb nu het volgende:
[code]SELECT TOP 1 Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product
ORDER BY verkopen.product DESC;[/code]


Dit klopt niet helemaal want ik sorteer nu op het product, en ik moet sorteren op de hoeveelheid, echter kan dat niet omdat ik die gebruik een z'on rekenkundige functie. :?
Dat kan wel.
Kijk maar naar m'n voorbeeld.

https://fgheysels.github.io/


  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
whoami schreef op donderdag 21 april 2005 @ 09:34:
[...]


Dat kan wel.
Kijk maar naar m'n voorbeeld.
Toch lukt het me niet want ik krijg de vraag "Parameterwaarde invoeren", ik gebruik de volgende code:

code:
1
2
3
4
SELECT TOP 1 Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product
ORDER BY Verkopen DESC;

[ Voor 5% gewijzigd door renekosterman op 21-04-2005 09:38 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Probeer dit eens:

ORDER BY SUM(Verkopen.Hoeveelheid) DESC

Misschien dat access geen aliassen in de order by accepteert?

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Kun je niet max om de sum gebruiken:
max(sum(bla))

  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
P_de_B schreef op donderdag 21 april 2005 @ 09:39:
Probeer dit eens:

ORDER BY SUM(Verkopen.Hoeveelheid) DESC

Misschien dat access geen aliassen in de order by accepteert?
Bedankt dat werkt, ik dacht dat dat niet mocht, maar wel dus.

code:
1
2
3
4
SELECT TOP 1 Sum(Verkopen.hoeveelheid) AS Verkopen, Verkopen.Product
FROM Verkopen
GROUP BY verkopen.product
ORDER BY SUM(Verkopen.Hoeveelheid) DESC;


bedankt allemaal

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Ik mag me vergissen, maar is het niet zo dat Access standaard 'WITH TIES' doet? Dit betekent dat als je TOP 1 doet, en er zijn 2 producten die evenveel verkocht zijn, je ondanks de top 1 2 rijen krijgt. Misschien iets om wel even rekening mee te houden.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • renekosterman
  • Registratie: Februari 2003
  • Laatst online: 04-03-2019
P_de_B schreef op donderdag 21 april 2005 @ 09:46:
Ik mag me vergissen, maar is het niet zo dat Access standaard 'WITH TIES' doet? Dit betekent dat als je TOP 1 doet, en er zijn 2 producten die evenveel verkocht zijn, je ondanks de top 1 2 rijen krijgt. Misschien iets om wel even rekening mee te houden.
Bedankt, ik had het net gezien idd, ik zal d'r rekening mee houden.
Pagina: 1