php - 计数 View (关系数据库)

标签 php mysql

表事件 View

ID + EVENT_ID + VIEW_DATE + MEMBER_ID

表 member_city_access

ID + MEMBER_ID + CITY_ID + PRIMARY(not PK) + VIEWING

表格城市

ID + TITLE

我正在尝试从特定城市的成员那里获取事件的观看次数。

这是我的

SELECT COUNT(`event_views`.`id`) c FROM `event_views`
    LEFT JOIN `member_city_access` city ON city.`member_id` = `event_views`.`member_id`
    LEFT JOIN `cities` on cities.id = city.city_id WHERE (city.city_id = '92' AND city.`primary` = 'on')
    AND `event_views`.`view_date` >= '20131103'
    AND `event_views`.`view_date` < '20131110'

我想知道我是否使用了正确的“JOINS”进行计数,因为数字与事件不一致,所以在我的报告中它显示(对于 1 个城市)

EVENTS ADDED = 0 , EVENTS VIEWED = 3

最佳答案

该查询返回所有与您的 where 子句匹配的 View 。如果你想按事件分开它们,你必须按事件分组:

SELECT `event_views`.`id`,COUNT(`event_views`.`id`) c
FROM `event_views`
LEFT JOIN `member_city_access` city 
     ON city.`member_id` = `event_views`.`member_id`
LEFT JOIN `cities` 
     ON cities.id = city.city_id
WHERE city.city_id = '92'
    AND city.`primary` = 'on'
    AND `event_views`.`view_date` >= '20131103'
    AND `event_views`.`view_date` < '20131110'
GROUP BY `event_views`.`id`

关于php - 计数 View (关系数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20292377/

相关文章:

php - 如何访问存储在数组 codeigniter 中的 $_$SESSION 数据

php - 如何为 php 启用 curl

mysql - SQL语句获取查找表中的相似记录

Mysql列索引值

mysql - 这怎么可能 - 较旧的记录具有较新的created_at日期?

php - 获取多维数组

php - 更改从 mysql 中提取的前 3 条记录的 css 类

php - 如何从当前日期 PHP 获取最近 7 周、7 个月的日期范围?

php - MySQL 查询按相对匹配顺序搜索关键字

mysql - 百分比通配符不会在完美匹配时返回