• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 23 december 2025 om 16:43
  • Developer Gezocht

    tcbhome 21 december 2025 om 15:07
  • Op zoek naar de legends

    Jeffrey.Hoekman 9 december 2025 om 09:41
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05
  • 302 Nieuwe Domeinnamen November 2025

    shiga 1 december 2025 om 13:07

[SQL] Laagste count waarde

  • WHMCSAddons
  • 23 november 2016 om 16:54
  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 23 november 2016 om 16:54
    • #1

    Goedemiddag,

    Voor een privé project ben ik een soort 'load balancer' aan het maken tussen verschillende servers, dit kan dus in theorie verder uitgebreid worden zonder problemen.
    Nu ben ik aan het onderzoeken hoe ik mijn query het beste kan opzetten maar het heb tot nu toe alleen de COUNT() die mij exact verteld wat er aan aantallen is.

    Vraag:
    Kan deze query niet direct uitgevoerd worden zonder bijkomende PHP programmering, wil namelijk geen onnodige code schrijven als SQL dit ook kan.
    De bedoeling is dus om de laagste waarde terug te krijgen uit een combinatie van 2 queries, deze zien er als volgt uit:

    Diff
    servers
    	id 		int(10)
    	ip 		varbinary(45)
    	cp 		ENUM('DirectAdmin','Plesk','cPanel')
    	type 		ENUM('Linux','Windows')
    	host		varchar(255)
    	port 		int(5)
    	secure 		tinyint(1)
    	maximum 	int(5)
    packages
    	id 		int(10)
    	client 		int(10)
    	server 		int(10)
    	product 	int(10)
    	service		int(10)
    Toon Meer

    Hopelijk is het zo duidelijk, anders beantwoord ik de vragen via het onderwerp.

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 24 november 2016 om 10:41
    • #2
    Citaat van WHMCSAddons

    uit een combinatie van 2 queries

    Dat zijn twee tabellen, niet twee queries.

    Kun je niet gewoon de COUNT een alias geven (COUNT(...) AS whatever) en vervolgens oplopend sorteren op dit resultaat en de resultaten limiteren tot 1 (ORDER BY whatever ASC LIMIT 1)?

    Kan het voorkomen dat de load van twee servers precies hetzelfde is?

    NB vergeet niet om GROUP BY te gebruiken eh.

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 24 november 2016 om 15:46
    • #3

    @FangorN
    De bedoeling is om de minst volle server te vullen, zo wil ik dus gelijktijdig meerdere servers gebruiken tijdens het vullen.

    Server 1: 14 accounts
    Server 2: 10 accounts
    Server 3: 13 accounts
    Server 4: 0 accounts

    Nu wil ik met een simpele query dus server 4 aanvullen omdat deze het minst vol is, maar bij het toevoegen van nieuwe servers moet hij deze ook zien om de nieuwe server te vullen.

    Wil hiermee voorkomen dat servers leeg raken, ze moeten dus ten alle tijden gevuld worden. Via deze weg kan ik oneindig veel servers toevoegen omdat deze toch gevuld zullen worden.

    Ik had al iets met een COUNT(..) maar hierop krijg ik alle rijen terug, als ik deze limit naar 1 krijg ik niet de minst volle server. Nu is mijn query kennis niet geweldig te noemen dus sta open voor suggesties.

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 24 november 2016 om 18:52
    • #4

    Hoe kom je aan 14, 10, 13, 0 accounts - zijn dat gewoon het aantal packages dat op een server actief is? (packages = accounts?)

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 25 november 2016 om 09:16
    • #5
    Citaat van FangorN

    Hoe kom je aan 14, 10, 13, 0 accounts - zijn dat gewoon het aantal packages dat op een server actief is? (packages = accounts?)

    Klopt, is een fictief aantal maar er zijn in dit voorbeeld 37 packages over 3 servers verspreid en er is een 4e bijgekomen die nog onbekend is.

  • Dees
    Elite members
    Ontvangen Reacties
    64
    Articles
    1
    Berichten
    358
    • 25 november 2016 om 14:26
    • #6
    SQL
    SELECT server, COUNT(id) AS lowest_amount FROM packages GROUP BY server ORDER BY lowest_amount LIMIT 1

    Ik heb dit nog niet getest, maar zoiets zou moeten werken.

    Met vriendelijke groet,

    Dees

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 26 november 2016 om 13:11
    • #7

    @D.Oomens
    Dit werkt inderdaad en doet precies wat ik bedoel, hoe zou ik eventueel nieuwe servers kunnen toevoegen aan die lijst die (nog) niet bekend zijn ?

  • Dees
    Elite members
    Ontvangen Reacties
    64
    Articles
    1
    Berichten
    358
    • 26 november 2016 om 15:30
    • #8

    Dan zou je iets met een join of left join moeten doen. Ligt eraan wat je precies wil doen. Je wil dus voor elke server een lijst met hoeveel 'gebruikers' er op die server zitten. Ook als er geen gebruikers op een server zitten, right?

    Met vriendelijke groet,

    Dees

  • Dees
    Elite members
    Ontvangen Reacties
    64
    Articles
    1
    Berichten
    358
    • 26 november 2016 om 16:11
    • #9

    Zo ja, dan is dit je oplossing:

    SQL
    SELECT servers.id, COUNT(packages.id) as total_packages
    	FROM servers 
        LEFT JOIN packages 
        	ON servers.id = packages.server 
    	GROUP BY servers.id
        ORDER BY total DESC

    Dit geeft een lijst met het id van de server en het aantal packages van die server, gesorteerd op meest aantal packages als eerst.

    Met vriendelijke groet,

    Dees

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 27 november 2016 om 13:35
    • #10
    Citaat van D.Oomens

    Zo ja, dan is dit je oplossing:

    SQL
    SELECT servers.id, COUNT(packages.id) as total_packages
    	FROM servers 
        LEFT JOIN packages 
        	ON servers.id = packages.server 
    	GROUP BY servers.id
        ORDER BY total DESC

    Dit geeft een lijst met het id van de server en het aantal packages van die server, gesorteerd op meest aantal packages als eerst.

    Stond een kleine fout bij de ORDER BY maar dit werkt inderdaad, briljant heel erg bedankt voor je bijdrage!

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design