Jump to content
php.lv forumi

ORDER BY gļuks ?


Vebers

Recommended Posts

SELECT ch_stats.today_posts, lietotaji.n FROM ch_stats, lietotaji ORDER BY ch_stats.today_posts DESC LIMIT 0, 15;

rekur ir pieprasijums DB.

 

Bet atgrieztajos rezultātos visur today_posts = maximālais (pagaidam 69).

 

Taču pieprasijums ir pareizs? Varbūt MySQL bugs ? versija = 4.0.24

Link to comment
Share on other sites

Nu pag ORDER BY jau ir kārtošana un tam itkā nav nekāda sakara ar '69' jebšu today_posts lauka vērtību..

 

Tikpat labi tu tajā ch_stats.today_posts varētu ielikt 1000 un teikt ka ORDER/MySQL vainīgs?

 

Manuprāt tu kaut ko jauc vai nu ar GROUP BY vai vispār pieprasījuma loģiku..

Link to comment
Share on other sites

hmm.. bet nu izvadītie rezultāti arī pēc katra refresha ir savādāki, tad cik saprotu, tad viņš "domā" ka visiem lietotājiem today_posts=69

 

lietotaji:

id | niks

---------

1 | piu

2 | paf

3 | dooh

 

ch_stats:

id(lietotaja id) | today_posts

-------------

1 | 2

2 | 69

3 | 54

 

 

kads izskatīsies pieprasījums? Datiem taču ir jābūt statiskiem (nemainīgiem) nevis pēc katra refresha japarāda savādāki niki. Vai ne ?

Link to comment
Share on other sites

Nu pirmais kverijs īsti neatbilst tabulas struktūrai / vēlamajam rezultātam (ja es pareizi saprotu)..

 

Ja tev vajag atselectēt lietotājus un viņu šodienas postus nesanāk kaut kā šādi?:

 

SELECT lietotaji.*,ch_stats. today_posts FROM lietotaji, ch_stats WHERE lietotaji.id = ch_stats.id

 

 

šādi gan atselectēt tikai tos userus kam būs posti.. ja vajag visus tad left joins

 

SELECT lietotaji.*,ch_stats. today_posts FROM lietotaji LEFT JOIN ch_stats ON (lietotaji.id = ch_stats.id)

Link to comment
Share on other sites

Tad parādīs lietotājus un katra lietotāja šodienas postus, bet man vajag attēlot TOP 15 kārtojot pēc šodienas postiem, lai izskatās apmēram tā:

 

1. paf - 69

2. dooh - 54

3. piu - 2

Link to comment
Share on other sites

  • 1 month later...
×
×
  • Create New...