2016-05-23 1 views
0

Ich bin eine Abfrage alsmysql_fetch_array, assoc, Zeile des Arrays zurückgreifen, nachdem sie von Abrufen db

SELECT distinct dr.author as author , count(dr.author) as count FROM e_core_internet_analysis_58 dr,client_competitors,e_master_article_about WHERE `clientId`='173' AND dr.author!='' and client_competitors.clientId='173' and client_competitors.competitorId= e_master_article_about.company_id and e_master_article_about.id=dr.article_about_id and date(dr.publish_time) BETWEEN '2016-05-01' AND '2016-05-10' and dr.feed_class in ('Microblogs') and dr.company_name in ('Edelweiss - GIM','Edelweiss - WCM','India Infoline - WCM','Motilal Oswal - WCM','Emkay','KR Choksey','Motilal Oswal','Prabhudas Liladhar') group by author order by count desc limit 0,20 

Ausführung Wenn ich diese Abfrage in der Datenbank ausgeführt, erhalte ich das Ergebnis, wie im Bild unten.

enter image description here

Wenn ich das Array mit dem folgenden Code

$query_stack_st = "SELECT distinct dr.author as author , count(dr.author) as count FROM e_core_internet_analysis_$sector_id dr,client_competitors,e_master_article_about WHERE `clientId`='".$client_id."' AND dr.author!='' and client_competitors.clientId='".$client_id."' and client_competitors.competitorId= e_master_article_about.company_id and e_master_article_about.id=dr.article_about_id and date(dr.publish_time) BETWEEN '".$from."' AND '".$to."' and dr.feed_class in ('".rtrim($genre_id,"','")."') and dr.company_name in ('".rtrim($company_id,"','")."') group by author order by count desc limit 0,20 "; 

$res_stack_st = mysql_query($query_stack_st); 
while($row =mysql_fetch_array($res_stack_st)) { 
echo $row['author']."<br>"; 
} 

Ich hole bekommen das Ergebnis als:

CNBC-TV18 
Motilal Oswal Group 
Save & Grow Money 
NewsOnFire 
OptionsTip 
Sanjeev P Saikia 
CNBC-TV18 News 
Green Hedge Capital 
Ajinkya Ambre 
3NovicesChennai 
India Market Updates 
SanjayChowdary 
Fin Thoughts 
Investsmart - Sapan 
moneycontrol 
Shyam Sharma 
Indian Stocks Update 
Kairavi Shah 
Ashutosh Tilak 
RANJAN BUDA. 

der erwartet wird, nicht. Nach der Sortierung in absteigender Reihenfolge sortiert er auch die Autorengruppe in absteigender Reihenfolge. Für z.B.

SanjayChowdary 
Fin Thoughts 

haben beide gleiche Zählung aber Fin Gedanken sollte wie im Bild zuerst und dann Sanjay Chowdary sein.

Beide Abfragen sind genau die gleichen wie ich es in meinem Browser widerholte und in der db ausgeführt. Ich versuchte verschiedene Optionen wie mysql_fetch_assoc,mysql_fetch_array, mysql_fetch_row usw., aber immer noch die gleichen Ergebnisse.

Kann mir bitte jemand mit diesem Problem helfen.

+0

Kann jemand bitte auf diese Antwort antworten –

Antwort

0

Versuchen Sie hier in Ihrer query.add-Auther-Spalte zu ändern, um die Reihenfolge aufsteigend festzulegen.

group by author order by count desc,auther asc limit 0,20 "; 
+0

Ich versuchte dies, aber es hat nicht funktioniert. In der Tat sortiert es die gesamte Autorenliste und nicht nur die ersten 20 Ergebnisse –