php - Mysql count 和 count distinct 在同一个查询中

标签 php mysql

我有以下 2 个表:

user_table:

user_id
job_id
job_link

job_table:

job_id
click_ip
click_date

我必须计算当前用户每个作业的不同点击次数和所有点击次数。谁能告诉我当前的表结构是否可行并对此有答案。谢谢。

我当前的查询也尝试使用内部连接:

SELECT  `user_id` , job.job_id AS job_id,  `job_link`, 
    COUNT( job.click_ip ) AS click_ip
FROM  `job` ,  `user` 
WHERE job.job_id = user.job_id
AND user.user_id =7
GROUP BY job_id

最佳答案

COUNT(DISTINCT 字段) 将完成这项工作:

SELECT user_id, 
    job.job_id AS job_id,
    job_link, 
    COUNT(job.click_ip) AS click_ip, 
    COUNT(DISTINCT job.click_ip) AS click_ip_distinct
FROM user JOIN job ON user.job_id = job.job_id
WHERE user.user_id =7
GROUP BY job_id

SQL Fiddle 在这里:http://sqlfiddle.com/#!2/5e03e/2/0

关于php - Mysql count 和 count distinct 在同一个查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688743/

相关文章:

php - SQL - SET 和 IGNORE 在一条语句中

mysql - 为类别、子类别和相关图书设计数据库

php - 更改用户 PHP

php - 获取数组的最后时间

mysql - Angular 7可以使用 Node js 'mysql'模块连接到mysql吗

mysql - 将坐标插入 MySQL - PolyFromText SQL 语法错误/返回空值

php - 使用php下载文件并将其保存到数据库

php - 在foreach php循环中使用三元运算符在下拉列表中选择值

php - 在 PHP 中执行日期时间相关操作

php - 使用 PDO 创建表