Raad met sql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Omar

Omar

21/04/2008 21:10:00
Quote Anchor link
Ik kan deze query niet uitvoeren weet iemand mischien waarom

SELECT
COUNT(bedrijf_id) AS aantal ,
leerling_naam
FROM leerlingen
WHERE zoekwoorden LIKE '%mar'
ORDER BY RAND(23760) LIMIT 10
 
PHP hulp

PHP hulp

29/11/2024 00:32:40
 
Hipska BE

Hipska BE

21/04/2008 21:12:00
Quote Anchor link
dat kan best dat jij deze query niet kan uitvoeren, ik zou het ook niet kunnen.
Maar kan je je DB die niet beter laten uitvoeren?

Geef ook eens de foutmelding die je krijgt als je dit probeert te laten uitvoeren.
 
Frank -

Frank -

21/04/2008 21:13:00
Quote Anchor link
Omdat deze niet geldig is. COUNT() is een aggregate functie, deze geeft informatie over een groep records. En jij maakt nergens een groep aan, dus is de query fout.

http://www.phphulp.nl/php/tutorials/3/521/
 
Jesper Diovo

Jesper Diovo

21/04/2008 21:17:00
Quote Anchor link
COUNT() zal maar één record terug geven. Namelijk het record met het aantal dat COUNT() teruggeeft. Als je daarbij iedere leerling_naam op wilt halen, krijg je meerdere records. En dat werkt niet. Je kunt wel via 'GROUP BY' op de leerling_naam alle bedrijf_ids per leerling_naam groeperen. Je krijgt dan groepen per leerling_naam die per stuk een aantal bedrijf_ids hebben (waarschijnlijk krijg je X aantal keer terug als aantal).

Een betere query zou zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
  COUNT(bedrijf_id) AS aantal, leerling_naam
FROM
  leerlingen
WHERE
  zoekwoorden LIKE '%mar'
GROUP BY
  leerling_naam
ORDER BY
  RAND(23760)
LIMIT
  10;
 



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.