gpt4 book ai didi

php - Mysql 两张表,从一张表中选取所有值,比较是否存在,然后返回一个随机值

转载 作者:行者123 更新时间:2023-11-29 13:40:22 25 4
gpt4 key购买 nike

我是新来的,刚来发帖提问,但我很久以前就一直在寻找答案。尽管如此,我现在正在尝试做的事情是我没有找到正确的解决方案,或者如果我找到了它,我只是不知道如何使用它。

这是我的 SQL 查询:

$sql = "SELECT * FROM table_links AS link_id WHERE link_points > '1' 
AND NOT EXISTS (SELECT * FROM table_surf AS slink_id WHERE user_id = '$user'
AND surf_time = '$time') ORDER by RAND() LIMIT 1";

我正在尝试选择一个随机的 LINK ID(其中有点),并通过查看第二个表来检查该链接今天是否已全部显示给用户,其中所有 LINK ID 均保存为 SLINK ID,其中包含用户 ID 和时间最后一次访问的次数。

如果上次访问是在今天 ($time),那么它不应该返回任何内容。

我是 PHP/mysql 新手,但我正在努力学习,但在这种情况下,我不确定是否有可能实现像这样的复杂查询。

更新:根据 Akhil 的帖子,这似乎对我有用 -

$sql = "SELECT * FROM (SELECT RAND() temp, link_id FROM table_links WHERE link_points > '1' AND link_status NOT IN ('spam') AND NOT EXISTS (SELECT slink_id FROM table_surf AS links WHERE user_id = '$user' AND surf_time = '$time' AND slink_id = '$surflink')) a ORDER by temp LIMIT 1";

最佳答案

使用子查询

$sql = "select * from (SELECT RAND() temp, table_links.* FROM table_links AS link_id WHERE link_points > '1' 
AND NOT EXISTS (SELECT * FROM table_surf AS slink_id WHERE user_id = '$user'
AND surf_time = '$time')) a ORDER by temp LIMIT 1";

看看是否能解决您的问题

关于php - Mysql 两张表,从一张表中选取所有值,比较是否存在,然后返回一个随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18159619/

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