我正在寻求您的帮助,以帮助我更正这段代码。在我的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中抛出]
您能帮我吗?预先谢谢你
尝试使用此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);
尝试一下:
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'