Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Php 如何在我的活动参与者表中计算用户名?_Php_Mysql_Sql - Fatal编程技术网

Php 如何在我的活动参与者表中计算用户名?

Php 如何在我的活动参与者表中计算用户名?,php,mysql,sql,Php,Mysql,Sql,我的问题是当它计算一个用户名时,它不是我数据库中的确切数量。请帮助我,您的查询缺少加入条件。试试下面这个 SELECT a.event_name AS event_name, a.event_date AS event_date, a.event_venue AS event_venue, a.event_tparticipant AS event_tparticipant, b.username AS username FROM (SELECT * FROM ev

我的问题是当它计算一个用户名时,它不是我数据库中的确切数量。请帮助我,您的查询缺少加入条件。试试下面这个

SELECT a.event_name AS event_name, a.event_date AS event_date,
       a.event_venue AS event_venue, a.event_tparticipant AS event_tparticipant,
       b.username AS username 
FROM (SELECT * FROM event WHERE status = 'valid') AS a
JOIN
(
    SELECT COUNT(DISTINCT username) AS username
    FROM event_participant
    GROUP BY event_name
) AS b
GROUP BY event_name desc

像这样的方法会更传统

SELECT 
a.event_name as event_name, a.event_date as event_date, 
a.event_venue as event_venue, 
a.event_tparticipant as event_tparticipant, 
b.username as username 
FROM (select * from event WHERE status='valid') as a
JOIN (select event_name, COUNT(DISTINCT username) as username
      from event_participant
      GROUP BY event_name) as b
ON a.event_name = b.event_name --change this condition to be appropriate
GROUP BY event_name desc

…虽然根据事件id(如果有这样的事情)加入会更好

可能已经指出,但您在查询中缺少一个加入条件。
SELECT 
    a.event_name as event_name, a.event_date as event_date, a.event_venue as event_venue, a.event_tparticipant as event_tparticipant
    ,COUNT(DISTINCT b.username) as username 
FROM
    event_participant b
    JOIN event a ON a.event_name = b.event_name
WHERE
    a.status = 'valid'
GROUP BY 
    a.event_name as event_name, a.event_date as event_date, a.event_venue as event_venue, a.event_tparticipant as event_tparticipant
ORDER BY
    a.event_name desc