我通常非常依赖将某些东西融合在一起,但是我碰到了那堵砖墙,最终朝着正确的方向伸出了双手。

我的查询:

$post_views = (int)$wpdb->get_var("
        SELECT SUM(count) AS views
        FROM ".$wpdb->prefix."post_views
        WHERE id IN (".$post_id.") AND type = 0"


数据库表如下所示:

id      type    period      count
------- ------- ----------- -------
32310   0       20141023    8
32310   0       20141022    68
32310   1       201443      76
32310   2       201410      76
32310   3       2014        76
32310   4       total       76


类型0是我感兴趣的类型,我只希望最近7个类型0条目的COUNT列之和

我一直在尝试在查询结束时根据“ ORDER BY period DESC LIMIT 7”进行操作-无济于事,这样做通常会得到0的回报。

每天都会为每篇文章生成一个新的0行,这就是为什么我只需要获取最后7行

这里的任何帮助将不胜感激,这是有史以来第一次。

最佳答案

SELECT SUM(count)
FROM (SELECT count
      FROM wp_post_views
      WHERE type = 0
        AND id IN (684,42,7)
      ORDER BY period DESC
      LIMIT 7)


或者只是先确定一周前的日期,然后使用该日期进行过滤,但是像这样的子查询也可以正常工作。

10-02 11:46