gpt4 book ai didi

php - 尝试获取不同的结果,但使用 mysqli 语句查询不起作用

转载 作者:行者123 更新时间:2023-11-30 01:05:12 24 4
gpt4 key购买 nike

我想从三个具有多对多关系的表中获取数据。这是我的数据库的表结构。

用户

uid[pk] fname lname username
1 John smith johnsmith

事件

act_id[pk] title
log Account Login
reg Account Registration

用户事件

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

关于php - 尝试获取不同的结果,但使用 mysqli 语句查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19768609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com