我最初有这样的SELECT
查询..
($con,"SELECT * FROM users ORDER BY id ASC LIMIT 1");
但是,我意识到我需要2,3,4或5组中的最新用户(不包括组1)。所以最后我只希望一个用户显示最新的。
我的SELECT查询现在有什么问题,因为它不显示任何内容?
//Newest Member
$member = mysqli_query($con,"SELECT * FROM users WHERE `group`=2, 3, 4,5 ORDER BY id ASC LIMIT 1");
$numrows_member = mysqli_num_rows($member);
if($numrows_member > 0){
while($row_member = mysqli_fetch_assoc($member)){
$memberid = $row_member['id'];
$member_username = $row_member['username'];
echo $member_username;
}
} else {
echo "No Members Found...";
}
答案 0 :(得分:2)
您正在寻找IN运营商。语法如下:
SELECT *
FROM users
WHERE `group` IN (2, 3, 4, 5)
ORDER BY id ASC
LIMIT 1;
注意:根据您的评论,如果您正在寻找最新用户,您可能希望以DESC
顺序订购,以便将最大的ID放在第一位。更好(在我看来),如果你存储account_created_date
你可以订购。再次,按降序排列。
答案 1 :(得分:2)
如果您要排除特定的group
,请使用!=
,而不是尝试查找剩余的群组之一:
SELECT * FROM users WHERE `group` != 1 ORDER BY id ASC LIMIT 1