Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 4.831 pregleda

Najnovija ↓

sum(ocena),count(ocena) from... [php/mysql] 04.02.2003. u 23:40 · pre 288 meseci #1
Pokušavam da napravim glasanje na jednom sajtu i problem je što sam stao u izračuvanju SUM-a glasova i broju glasova

upit ide ovako

SELECT sum(ocena),COUNT(ocena) FROM `skrpte_kmntri` WHERE id='$page'...

znači SUM bi trebalo da izračuna SUMu svih ocena a COUNT bi trebao da izračuna kolko ljudi je glasalo ali dobijem ovu grešku

Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause

Mogu ovo drugačije da uradim ali oću maximalno da koristim mysql pa ako neko zna....
Re: sum(ocena),count(ocena) from... [php/mysql] 05.02.2003. u 00:19 · pre 288 meseci #3
Hmmm,baš sam krenuo da odgovorim samom sebi,možda zvuči smešno ali ne znam ni ja sam šta je bio problem :)

Hvala Zombi,imam pitanje za tebe... ako može negde mala dokumentacija ili u linijama da mi objasniš šta je ovo:

FROM skrpte_kmntri s 
GROUP BY s.id
WHERE s.id='$page'?
Re: sum(ocena),count(ocena) from... [php/mysql] 05.02.2003. u 00:26 · pre 288 meseci #4
pa nista narocito. stvar navike. u prvom redu, FROM skripte s samo dajesh "alias" iliti drugo ime (obicno krace) tabeli. ovo je narocito korisno kada join-ujesh dve tabele:

Code:

SELECT o.*, i.*
FROM orders o, items i
WHERE o.id=i.order_id


u drugoj liniji (from..) sam samo rekao sql-u da u ovom upitu, svuda gde stavim o. mislim na tabelu oreders (i na field-polje iz te tebele), a kada stavim i. da mislim na tabelu items (i njena polja).

pogledaj mysql man za SELECT komandu..
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Re: sum(ocena),count(ocena) from... [php/mysql] 05.02.2003. u 10:27 · pre 288 meseci #5
Code:

SELECT sum(ocena) as suma, COUNT(ocena) as ocena, suma/ocena as rezultat
FROM skrpte_kmntri s 
GROUP BY s.id
WHERE s.id='$page'


Group By je klauza koja SQL upitu indicira prema koje non-aggregate kolone da grupira rezultate. A kao sto ja vidim u gorenavedenom upit nema non-aggregate kolone, tako da group by klauza nema nikakve poente.

Drugo, u mysql-u bar u 3.23, ne mozes kolone referencirati kao sto je autor pokusao sa rezultatom.

Da bi ovaj upit radio, trebao bi izgledati nesto slicno ovome
Code:

SELECT id,sum(ocena) as suma, COUNT(ocena) as ocena, (sum(ocena)/COUNT(ocena)) as rezult
FROM skrpte_kmntri
WHERE id=43 GROUP BY id


I malo mi nije jasan dizajn baze. Ukoliko je id kolona pravi ID, t.j. PK, kako je moguce da se isti ponavlja ? ako je id unique, onda group by nema nikakvog efekta.
Potpis
People who think they know everything tend to irritate those of us who do.
Re: sum(ocena),count(ocena) from... [php/mysql] 05.02.2003. u 21:27 · pre 288 meseci #6
Najisrenije nikad nisam Join-ovao 2 tabele tako da nije ni čudno što nisam znao...
Što se tiče „dizajna mysql”-a,to sam napamet napisao taj deo koda zato je WHERE ID=...

Hvala svima :Đ
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme