$query = "SELECT TITLE FROM ACCESSLOG ORDER BY TITLE ASC";
$Result = db_query($query);
while ( $DataResult = $Result->fetchAssoc() ) {
echo '<a href='. $DataResult["path"].' >'.$DataResult["title"].'</a><br>';
}
它给出了结果
标题1 标题1 标题1 标题1 标题2我需要将其重写为
总计26
标题1 - 4 - 0.2(4/20)
标题2 - 3 - 0.15(3/20)
标题3 - 2 - 0.1(2/20)
标题4 - 1 - 0.05(1/20)
标题5 - 4 - 0.2(4/20)
标题6 - 3 - 0.15(3/20)
标题7 - 1 - 0.1(1/20)
标题8 - 2 - 0.2(4/20)
标题9 - 3 - 0.15(3/20)
标题10 - 3 - 0.15(3/20)
可以通过SQL或PHP来完成。
答案 0 :(得分:0)
在大多数数据库中,您可以这样做:
c
(如果你想通过单独放置列,你也可以得到“3/20”。)
许多PHP用户使用MySQL,它不支持这种语法。代替:
select title, count(*), count(*) * 1.0 / count(*) over ()
from table t
group by title
答案 1 :(得分:0)
SELECT a.TITLE, COUNT(a.TITLE) AS tot, COUNT(a.TITLE)/(SELECT COUNT(*) FROM ACCESSLOG b) AS Per
FROM ACCESSLOG a
GROUP BY a.TITLE
ORDER BY a.TITLE ASC