[英]Trying to fetch the distint result but it does not work using mysqli statement query
我想从具有多对多关系的三个表中获取数据。 这是我数据库的表结构。
使用者
uid[pk] fname lname username
1 John smith johnsmith
活动
act_id[pk] title
log Account Login
reg Account Registration
user_activity
serial_number[pk] act_id[fk] user_id[fk] ip_address date time
1 reg 1 2.2.2.2 -
2 log 1 1.1.1.1 -
我正在尝试获取:
title ip_address date time
这是我的mysqli查询语句:
SELECT a.title, ua.ip_address, ua.date, ua.time FROM users u
LEFT JOIN user_activity ua ON ua.user_id = u.uid
LEFT JOIN activity a ON a.activity_id = ua.act_id
WHERE u.username=?"
它从数据库中获取数据,我得到3个结果,而不仅仅是1个:
Title Ip_address Date Time
Account Login 1.1.1.1 Mon,Nov4 2013 5:5pm
Account Login 1.1.1.1 Mon,Nov4 2013 5:5pm
Account Login 1.1.1.1 Mon,Nov4 2013 5:5pm
我使用了DISTICT,但是它不起作用。 如果我错了,请让我正确。 谢谢
如果我对您的理解正确,则只需添加GROUP BY
SELECT
title, ip_address
FROM
users AS u
LEFT JOIN
user_activity AS ua ON ua.user_id = u.uid
LEFT JOIN
activity AS a ON a.activity_id = ua.act_id
WHERE
u.username = ?
GROUP BY
ua.ip_address
我自己弄清楚了。 现在它的工作正常。 这是查询。
SELECT a.title, ua.ip_address, ua.date, ua.time
FROM users AS u
LEFT JOIN user_activity AS ua ON ua.user_id = u.uid
LEFT JOIN activity AS a ON a.activity_id = ua.act_id
WHERE u.username = 'johnsmith'
GROUP BY ua.serial_number
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.