Toon posts:

[SQL] Erg vage query...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een query waarmee ik de beste 10 gallerys wil selecteren op het aantal views dat ze hebben

dus:
• Eerst alle foto's koppelen aan de gallery ID's :)
• Dan de views van de gallery en foto's koppelen.
• Deze query verwerken :)

Ik heb al de volgende query maar deze werkt nie.
code:
1
2
3
4
5
6
SELECT galleryid.*,
COUNT(galleryphoto.views + galleryid.views) AS count
FROM galleryid
LEFT JOIN galleryphoto 
ON galleryid.id = galleryphoto.galleryid
GROUP BY galleryid.views LIMIT 0, 30

voorbeeld van de db

galleryid.
• id
• blaat
• views

galleryphoto
• id
• galleryid
• blaat
• views

ik wil de views dus koppelen (galleryid.views + galleryphoto.views) van alle foto's die met deze query samen komen galleryid.id = galleryphoto.galleryid

wie o wie kan me helpen.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
code:
1
GROUP BY galleryid.id

:?

Verwijderd

Topicstarter
Op zondag 09 juni 2002 12:38 schreef Orphix het volgende:
code:
1
GROUP BY galleryid.id

:?
had ik ook al geprobeerd maar dan krijg ik nix terug :'( NULL :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

code:
1
2
3
4
5
6
SELECT galleryid.id,
SUM(galleryphoto.views) AS count
FROM galleryid
LEFT JOIN galleryphoto 
ON galleryid.id = galleryphoto.galleryid
GROUP BY galleryid.id LIMIT 0, 30

Who is John Galt?


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:14

TheDane

1.618

huh?

waarom update je 't aantal views van de gallery dan niet, iedere keer als er een photo uit de betreffende gallery getoond wordt ?

of is dat niet de bedoeling ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:11
Op zondag 09 juni 2002 12:39 schreef xtentic het volgende:

[..]

had ik ook al geprobeerd maar dan krijg ik nix terug :'( NULL :)
Hoe bedoel je?
Ik vind het zeer raar dat je een group by gebruikt, terwijl je geen aggregate columns hebt in uw select.
Niet goed gekeken.

https://fgheysels.github.io/


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik mis nog iets als 'waarom werkt ie niet?' etc...

Btw, je wilt vast summen ipv counten zoals justmental al aangeeft.

Verwijderd

Topicstarter
Op zondag 09 juni 2002 12:44 schreef justmental het volgende:
code:
1
2
3
4
5
6
SELECT galleryid.id,
SUM(galleryphoto.views) AS count
FROM galleryid
LEFT JOIN galleryphoto 
ON galleryid.id = galleryphoto.galleryid
GROUP BY galleryid.id LIMIT 0, 30
deze query is op zich best flex! de output is
code:
1
2
3
4
5
6
7
8
9
id  count  
3 118 
1 46 
36 14 
8 20 
95 4 
13 4 
12 1 
41 18

alleen nu zie ik dat de count niet helemaal lekker is... ik kan niet orderen by count maar hoe kan ik dit wel oplossen?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op zondag 09 juni 2002 21:04 schreef xtentic het volgende:

[..]

deze query is op zich best flex! de output is
code:
1
2
3
4
5
6
7
8
9
id  count  
3 118 
1 46 
36 14 
8 20 
95 4 
13 4 
12 1 
41 18

alleen nu zie ik dat de count niet helemaal lekker is... ik kan niet orderen by count maar hoe kan ik dit wel oplossen?
Hm, zou verwachten dat je met een order by dat zou moeten kunnen.
Misschien kan MySQL dat niet?
Of misschien moet je die kolom geen count noemen, hij zou dat als een gereserveerd woord kunnen zien :)

Who is John Galt?


Verwijderd

Topicstarter
ik ga het wel ff proberen met een andere naam :)

-edit count veranderd ik blaat en nog steeds de zelfde error... dus werkt niet :{ edit-

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je kan prima 'order by count' toevoegen, je zult wel wat anders fout doen.
Pagina: 1