| MySQL having težava | ||
|---|---|---|
|
schtr4jh
28. jan 2013 19:25:36
Pridružen od: 24. nov 2008 402 objav 322 33 4 |
#1
Imam problem pri sestavi SQL stavka. Za lažjo predstavo: v tabeli news se nahajajo novice (id, title, dtadded ...), v tabeli newsvotes pa like/dislike posamezne novice (id, newsid, userid, up (1 ali -1) ...). V stavku sicer manjka par pogojev, ki so odstranjeni zaradi preglednosti. Stavek bi naj vrnil IDje novic, ki imajo razmerje (seštevek glasov / čas od objave) večje od 10 ter jih razporedil po tem pogoju. Order by deluje, težave pa mi povzroča having del. SELECT n.id Ena izmed rešitev je, da nastavim cron in te vrednosti zapišem v tabelo news, vendar v tem primeru nimam live rezultatov, bi pa pridobil na hitrosti (ki pa trenutno ni problem). Kako rešit problem? Obstaja elegantnejša rešitev? Hvala za odgovore. EDiT: MySQL javi 'Unknown column n.dt_published'.' |
|
|
Gogy
28. jan 2013 19:39:41
Pridružen od: 17. mar 2007 2491 objav 2064 252 12 |
||
|
blackmamba
28. jan 2013 19:42:06
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#3
Kolikor jaz vem, having gleda po rezultatih in bi moral dat še n.dt_published v select. Namesto s cronom lahko ob vsakem votu zapišeš SUM v novico al pa samo prišteješ 1, da ni treba niti SUM-a delat. |
|
|
SlimDeluxe
28. jan 2013 19:53:04
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
Freelance Web Developer
|
|
|
schtr4jh
28. jan 2013 20:11:09
Pridružen od: 24. nov 2008 402 objav 322 33 4 |
#5
Ah, ne morem verjet ... Se mi je zdelo, da bo neka malenkost. Sem dodal še to polje v select in deluje (ne vem, kako mi je to ušlo iz glave). @Gogy ... Ja, sem napisal samo dtadded, vendar obstaja tudi polje dtpublished. @blackmamba ... To bi prišlo v poštev, vendar potrebujem datumske rezultate (dnevna, tedenska, mesečna in all-time statistika). Fantje, hvala! |
|