login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mininum aantal rijen nodig

Offline Crazy2 - 26/03/2006 13:05
Avatar van Crazy2Nieuw lid ik heb momenteel een de volgende query

"SELECT r.picid, AVG(r.rate) AS average, p.filename, p.w, p.h, p.id, p.orginal, p.title FROM galleryrate AS r, gallerypictures AS p WHERE r.picid = p.id $galleryrated GROUP BY picid ORDER BY average DESC, p.id ASC"

Maar nu selecteert die elke foto waar 1 of meerdere stem op is, maar ik zou het willen maken dat er minstens 5 stemmen voor nodig zijn voor die weergegeven word in gallerij

Alvast bedankt

3 antwoorden

Gesponsorde links
Offline Stijn - 26/03/2006 13:11 (laatste wijziging 26/03/2006 13:19)
Avatar van Stijn PHP expert mhz , ik zou JOINS gebruiken bij deze query:
  1. SELECT r.picid, AVG(r.rate) AS average, p.filename, p.w, p.h, p.id, p.orginal, p.title FROM galleryrate AS r INNER JOIN gallerypictures AS p ON r.picid = p.id WHERE r.rate >= 5 GROUP BY picid ORDER BY average DESC, p.id ASC


probeer die eens

[edit]

r.rate was dus je field met de ratings...

aangepast 
Offline Thomas - 26/03/2006 13:17
Avatar van Thomas Moderator Ik zie het aantal stemmen nergens.

Je moet overigens géén quotes gebruiken in kolommen waarin je waarden numeriek wilt vergelijken (zoals in de post van stijn1989 geopperd wordt)!
Offline Crazy2 - 26/03/2006 15:34 (laatste wijziging 27/03/2006 17:31)
Avatar van Crazy2 Nieuw lid
  1. CREATE TABLE `gallerypictures` (
  2. `id` int(15) NOT NULL auto_increment,
  3. `filename` varchar(20) NOT NULL default '',
  4. `title` varchar(50) NOT NULL default '',
  5. `w` int(4) NOT NULL default '0',
  6. `gallery` int(15) NOT NULL default '0',
  7. `h` int(4) NOT NULL default '0',
  8. `views` int(15) NOT NULL default '0',
  9. `orginal` enum('0','1') NOT NULL default '0',
  10. PRIMARY KEY (`id`)
  11. ) TYPE=MyISAM AUTO_INCREMENT=87 ;
  12.  
  13. CREATE TABLE `galleryrate` (
  14. `id` int(15) NOT NULL auto_increment,
  15. `picid` int(15) NOT NULL default '0',
  16. `user` varchar(32) NOT NULL default '',
  17. `rate` int(2) NOT NULL default '0',
  18. PRIMARY KEY (`id`)
  19. ) TYPE=MyISAM AUTO_INCREMENT=53 ;


Dit is de DB structuur, is zou dus alleen de resultaten willen hebben waar er meer dan 5 rijen zijn met de zelfste picid

Heb een oplossing gevonden 
GROUP BY r.picid HAVING COUNT(r.id) >= 5
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s