2015-09-01 103 views
1

我想为网站制作分析系统,并且我尝试从一个数据分组,按网址分组,按行数排序加入的网址,按分组数量排序DESC行。组行,计数分组的行和排序行的排序

$sql = "SELECT COUNT(*) FROM (SELECT DISTINCT url FROM analytic) ORDER by (SELECT DISTINCT url FROM analytic)"; 
$countQry = mysqli_query($link, $sql); 

while($arr = mysqli_fetch_array($countQry)) { 
?> 
    <?=$arr['url']?> 

<? 
    } 
?> 

感谢

+0

你想你想有一个GROUP BY。 – jarlh

+0

所以是不行的? – M4ver1k

回答

1

尝试使用GROUP BY

SELECT url, COUNT(url) AS theCount 
FROM analytic 
GROUP BY url 
ORDER BY theCount DESC 

这里是PHP代码供您使用:

$sql = "SELECT url, COUNT(url) AS theCount FROM analytic GROUP BY url ORDER BY by theCount DESC"; 
$countQry = mysqli_query($link, $sql); 
while ($row = mysqli_fetch_array($countQry, MYSQLI_ASSOC)) { 
    echo $row['url'], ", ", $row['theCount']; 
} 
+0

需要小的改变,“ORDER BY theCount DESC” – Pushpendra

+0

@Pushpendra他原来的查询似乎是由网址排序,而不是数量。 –

+0

不确定,但现在它说“并按分组行的数量排序”。 – Pushpendra