选择左连接数[重复项]

问题描述 投票:-1回答:2

我正在寻求您的帮助,以帮助我更正这段代码。在我的tb_user表中,我有该成员的地理位置及其标识符。在表tb_jeu_recap中,我具有标识符和参与日期。

我希望在一定时间间隔内所有用户都位于同一地理区域。

$jan_b2 = $pdo->query("SELECT 
COUNT(R.NIC_Handle) AS NIC_Handle
,R.Date

,U.NIC_Handle
,U.Pays
,U.Ville

FROM tb_jeu_recap R
LEFT JOIN tb_user U ON U.NIC_Handle = R.NIC_Handle
WHERE R.Date BETWEEN '2020-01-01' AND '2020-01-31' AND U.Ville = 'Abidjan'
")->fetchColumn();

echo $jan_b2;

我使用一个MySQL数据库,这是我遇到的错误:

致命错误:未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1140在没有GROUP BY的聚合查询中,SELECT列表的表达式#2包含未聚合的列'my_dbase.R.Date';这与... / www / analyse.php:16中的sql_mode = only_full_group_by不兼容:堆栈跟踪:#0 ... / www / analyse.php(16):PDO-> query('\ nSELECT \ ncount(。 。')#1 {main}在第16行的... / www / analyse.php中抛出]

您能帮我吗?预先谢谢你

php mysql sql
2个回答
-1
投票

尝试使用此SQL部分:

  SELECT COUNT (R.NIC_HANDLE) AS NIC_HANDLE, R.DATE
    FROM TB_JEU_RECAP R LEFT JOIN TB_USER U ON U.NIC_HANDLE = R.NIC_HANDLE
   WHERE R.DATE BETWEEN '2020-01-01' AND '2020-01-31' AND U.VILLE = 'Abidjan'
GROUP BY R.DATE, COUNT (R.NIC_HANDLE);

-1
投票

尝试一下:

SELECT 
    COUNT(R.NIC_Handle) AS NIC_Handle,
    R.Date,
    U.NIC_Handle,
    U.Pays,
    U.Ville,
FROM 
    tb_jeu_recap R
JOIN 
    tb_user U ON U.NIC_Handle = R.NIC_Handle AND U.Ville = 'Abidjan'
WHERE 
    R.Date >= '2020-01-01'
AND 
    R.Date <= '2020-01-31'
© www.soinside.com 2019 - 2024. All rights reserved.