Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Count 需要帮助在数据库中为大多数用户排序表吗_Count_Group By_Sql Order By_Distinct - Fatal编程技术网

Count 需要帮助在数据库中为大多数用户排序表吗

Count 需要帮助在数据库中为大多数用户排序表吗,count,group-by,sql-order-by,distinct,Count,Group By,Sql Order By,Distinct,我试图找出如何列出哪些帖子被浏览最多,特别是前5名 viewid | postid | ip | dateline 1 | 16 | 1.1.1.1 | 987654 2 | 12 | 1.1.1.1 | 987655 3 | 15 | 2.2.2.2 | 987656 4 | 16 | 2.2.2.2 | 987657 5 | 16 | 3.3.3.3 | 987658 6 | 1

我试图找出如何列出哪些帖子被浏览最多,特别是前5名

viewid | postid | ip      | dateline

  1    |  16    | 1.1.1.1 | 987654
  2    |  12    | 1.1.1.1 | 987655
  3    |  15    | 2.2.2.2 | 987656
  4    |  16    | 2.2.2.2 | 987657
  5    |  16    | 3.3.3.3 | 987658
  6    |  18    | 1.1.1.1 | 987659
  7    |  16    | 1.1.1.1 | 987660
  8    |  12    | 4.4.4.4 | 987661
我想打印以下内容:

Post ID - 16 (3 views)
Post ID - 12 (2 views)
Post ID - 15 (1 view)
Post ID - 18 (1 view)
因此,即使有4行的post ID为16,它也会忽略1,因为该IP地址已经看到了它。然后按大多数视图排序,然后按时间戳排序

这就是我目前正在尝试的(不工作):

查询确实有效:
不正确的是您希望按时间戳订购。哪个时间戳?帖子的时间戳还是视图的最后一个时间戳?或者可能是视图的平均时间戳?

SQL部分似乎正常。有什么问题?输出结果是什么?您已将列别名为“num”,请尝试$ranks\u views['num']。
$query_ranks_views = mysql_query("SELECT postid, COUNT(DISTINCT ip) AS num FROM views WHERE postid > '0' GROUP BY postid ORDER BY COUNT('DISTINCT ip') DESC LIMIT 5");
while($ranks_views = mysql_fetch_array($query_ranks_views)){
    echo("
        $ranks_views[postid] (". $ranks_views['COUNT(DISTINCT ip)'] .")
    ");
}