带有主查询数据变量的 MySQL 子查询

2024-01-01

好的,这里需要一位 MySQL 专家。我正在尝试编写一个查询,当有人对您之前评论过的项目发表评论时,该查询将充当通知系统。 “drinkComment”表非常简单:

commentID, userID, drinkID, datetime, comment

我编写了一个查询,它将获取我之前评论过的饮料的所有评论(不是我的),但它仍然会显示在我发表评论之前发生的评论。这与我认为可行的最接近,但事实并非如此。请帮忙!

select @drinkID:=drinkComments.drinkID, commentID, drinkID, userID, comment, datetime 
FROM drinkComments  
WHERE `drinkID` IN 
    ( select distinct drinkID from drinkComments where drinkComments.userID = 1) 
AND drinkComments.dateTime > (
/*This gets the last date user commented on the main query's drinkID*/
select datetime FROM drinkComments WHERE drinkComments.userID = 1 AND drinkComments.drinkID = @drinkID ORDER BY datetime DESC LIMIT 1
)
ORDER BY datetime DESC

为什么不从用户的预查询开始,以及他们提供评论的所有饮料以及截止时间(不知道您是否对任何给定的饮料每人有多个评论)。然后,在您的日期/时间评论之后查找所有其他人的评论...

该查询实际上应该更快,因为它仅以一个用户的饮料评论作为基础开始,然后返回到评论表以查找与饮料 ID 和截止时间匹配的评论。

SELECT STRAIGHT_JOIN
      dc.*
   from 
       ( select
               drinkID,
               max( datetime ) UserID_DrinkCommentTime
            FROM 
               drinkComments 
            WHERE
               userID = 1
            group by
               drinkID ) PreQuery
       join DrinkComments dc
         on PreQuery.DrinkID = dc.DrinkID
         and dc.datetime > PreQuery.UserID_DrinkCommentTime
   order by
      dc.DateTime desc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有主查询数据变量的 MySQL 子查询 的相关文章

  • 根据多行中的总分对 mysql 中的用户进行排名

    我有与这个问题中描述的非常相似的要求 mysql中的用户按积分排名 https stackoverflow com questions 34637943 rank users in mysql by their points 唯一的区别在于
  • MySQL 可以存储多少行?

    所以我是一个初学者 刚刚自学了几个月的MySQL 我在工作中总是使用 phpMyAdmin 我过去的工作只涉及大约 100k 行的表 所以没有什么大问题 然而 我的客户现在想要在表中存储大约 800 万行 MySQL phpMyAdmin
  • PDO 多查询“SQLSTATE[HY000]:一般错误”

    我仍在学习 PDO 所以我可能会错过一些东西 但基本上我正在尝试将一行插入表中 然后选择生成的 id 我不确定它是否喜欢一个 pdo 语句中的两个查询 这是我用来执行 SQL 的代码 public function ExecuteQuery
  • MySql 西班牙语字符数据

    我有一个包含西班牙语字符的数据库 为了填充数据库 我从字符编码 UTF 8 的客户端页面获取值 当我在 mySql 数据库中插入值时 行包含更改的数据 例如 如果我插入 M xico 数据库中的条目是 M xico 其影响是当我对指定 M
  • 需要 SQL 选择查询帮助

    我的问题类似于SQL选择组查询 https stackoverflow com questions 11407601 sql select group query 但模式发生了变化 我想要不同的结果 如下所述 给定链接的解决方案没有给我正确
  • 无法将外键值插入链接表

    我目前正在尝试将数据插入名为的表中 客户报价 该表充当 顾客 表和 客户关税 桌子 它还记录通过以下方式提交数据的用户 user table 这是我的数据库的架构 https i stack imgur com gyCdb png http
  • MySql 5.7 函数 UUID() 默认排序规则 - 非法混合排序规则

    Problem MySQL uuid 默认排序规则与配置连接排序规则不进行比较 我有一个使用字符集创建的数据库 表 字段 utf 8和排序规则utf8 polish ci my cnf 如下 init connect SET NAMES u
  • 在关系数据库中存储 1:1 用户关系的最佳方式

    存储用户关系的最佳方式是什么 例如友谊 在关系中必须是双向的 你是我的朋友 因此我是你的朋友 数据库 例如MYSql 我可以想到两种方法 每当一个用户与另一个用户成为好友时 我都会向数据库添加两行 其中 A 行由发起用户的用户 ID 和下一
  • 新行分隔符不适用于 group_concat 函数

    我有一根绳子 name lastname name2 lastname2 包含数据库表中的值 我想显示它 喜欢 name lastname name2 lastname2 我使用 group concat 函数 它适用于逗号分隔符 但我需要
  • 在选择下拉列表中选择特定选项时添加输入框

    我需要在选择选项时将输入添加到选择选项中 每当用户选择 其他 时 就会出现一个输入框供用户输入数据 HTML
  • 删除 ibdata1 后 MySQL 表消失了

    几天前 经过一番谷歌搜索后 我发现了这篇文章 我无法再让 mysql 运行了 xampp XAMPP MySQL 意外关闭 https stackoverflow com questions 18022809 xampp mysql shu
  • 将我的本地数据库(Mysql)复制到远程数据库(phpmyadmin)

    My MySQL database local server is connected to a weather station The data are updated continuously on my local server My
  • Mysql使用触发器建表

    我尝试在 Mysql 触发器内创建表 但没有创建 如何使用触发器创建表 这里传递的表的名称是动态的 据我所知 在触发器内创建表是不可能的 看这里 http forums mysql com read php 99 121849 122609
  • Laravel Eloquent with()-> 返回 null

    我正在尝试使用 Eloquent 来获取具有以下功能的特定产品 brand id映射到a的列brands表 该brand数组返回空 这里有什么明显需要改变的地方吗 product Product with images gt with br
  • 如何查找列表/集合是否包含在另一个列表中

    我有一个产品 ID 列表 我想找出哪些订单包含所有这些产品 订单表的结构如下 order id product id 1 222 1 555 2 333 显然我可以通过 PHP 中的一些循环来做到这一点 但我想知道是否有一种优雅的方法可以纯
  • XPath 选择具有特定属性值的元素?

    我在使用 XPath 选择节点时遇到问题 我将展示一个示例 由于实际数据量很大 xml 文件被缩短了 这是 XML 的子集
  • 如何从 mysql 数据库中提取数据并使用 D3.JS 进行可视化?

    我有一个数据库MySQL我想在其中可视化D3 JS 为了做到这一点 首先我想parse中的数据JSON格式 然后编写一个基本代码 从数据库中提取数据并使用D3 JS 我环顾四周 但找不到我想要的东西 因为我是新手D3 JS 我怎样才能做到这
  • PDO 和 MySQL 全文搜索

    我正在将所有站点代码从使用 mysql 函数转换为 PDO 关于 PDO 的 PHP 文档对于我的需求来说并不清楚 它为您提供了可以使用的功能 但没有详细解释它们在不同场景下的情况 基本上 我有一个 mysql 全文搜索 sql SELEC
  • Visual Studio 2015:SQL 数据源:无法检索架构。确保 ConnectionString 和 SelectCommand 属性有效

    我有以下ASP Net网页的开发环境 VS 2015专业版 使用 Net Framework 4 0 MySQL服务器5 6 MySQL Net 连接器 6 9 5 MySQL for Visual Studio 2 0 2 我能够从 Vi
  • Join 表(关联表)有主键吗?多对多关系

    Join 表 关联表 有主键吗 多对多的关系 我见过一些带有主键的连接表 一些没有 有人可以解释一下连接表中何时会有主键吗 为什么 先感谢您 在纯 联接 或联结表中 所有字段都将成为主键的一部分 例如 让我们考虑下表 CREATE TABL

随机推荐

  • 仅允许视频嵌入代码 (Rails)

    我想知道是否有人知道一种方法 只允许将来自 youtube vimeo blip tv 等的代码嵌入到表单字段中 我的网站上有一个表单 允许用户嵌入视频 但我只希望他们添加嵌入代码 html 而不添加任何其他危险的内容 例如 JS 或其他
  • 使用 node-inspector 调试 karma-jasmine 测试

    几乎同样的问题使用 node inspector 调试 jasmine node 测试 https stackoverflow com questions 6162920 debugging jasmine node tests with
  • Xcode 11 beta 无法将应用程序上传到 TestFlight

    我正在尝试将我的应用程序分发到 TestFlight 目前我的应用程序需要 iOS 13 以及 NFC 访问 在 iOS 13 结束测试版之前 我不打算发布我的应用程序 但我希望我的 QA 团队能够对其进行测试 我可以从 Xcode 11
  • 多个图表延迟问题,SVG 还是 HTML5 Canvas?

    我正在寻找使用 Javascript 构建动态且交互式的多个图表 在此练习中涉及同时移动 平移多个图表 我已经使用 SVG 和各种图表库实现了这个练习 然而 我发现当我开始拥有超过 12 个图表时 平移渲染变得缓慢 Highcharts 库
  • 在 C# 中,Array.ToArray() 是否执行深度复制?

    这应该是一个非常基本的问题 但我在找到明确的答案时遇到了一些困难 当你有一个值数组并使用 ToArray 方法 它创建数组的深副本还是浅副本 No 您可以通过编写一个小程序进行测试来轻松验证这一点
  • PHP 警告: include(/var/www/html/....../lib/Cake/Error/ErrorHandler.php): 无法打开流错误

    我在尝试加载网页时遇到此错误 错误消息中显示的路径是 PHP 警告 包括 var www html test com www products abc lib Cake Error ErrorHandler php 无法打开流 它无法找到
  • Angular 6 Universal 不等待解析器完成

    我刚刚安装了 Angular Universal 启动套件版本6并在其中创建了我的组件 该组件应在加载时通 过 API 获取用户信息并将其显示以供查看 问题是 API 结果显示在浏览器中 但未显示在 查看源代码 什么叫普惠如此 My get
  • 变量神秘消失? AWS 代码构建

    接下来是我的 buildspec yml build commands IMAGE TAG cat package json grep version head 1 awk F print 2 sed s g echo IMAGE TAG
  • 如何防止 WKWebView 对象崩溃?

    Scenario 我正在用 Swift 构建一个 iOS 应用程序 其中一项功能是将实时视频源作为应用程序背景 视频源源自本地网络上的 Raspberry Pi 使用sudo motion Motion 已成功在默认端口上托管源8081 S
  • 如何调整撬片颜色

    Edit 褪色的灰色仅是 0 9 7 3 及之前版本的问题 此后它已更改为深灰色 Pry 具有很好的着色功能 但是创建或更改对象时返回的值是褪色的灰色 我几乎看不到 u User new gt
  • 在 R 中搜索列表条目的索引

    给定一个 R 列表 我希望找到给定列表条目的索引 例如 对于条目 36 我希望我的输出是 2 另外 我如何使用 lapply 并行执行此类查询 gt list 1 1 7 12 26 29 2 1 11 36 3 1 20 49 4 1 3
  • 为什么 isnan 含糊不清以及如何避免它?

    Since isnan可以是宏 在 C 98 中 或命名空间中定义的函数std 在 C 11 中 这个简单的示例说明了编写在两种情况下都有效的代码的明显 可能是天真的 方法 include
  • iOS Objective C 中的单例不会阻止多个实例

    我知道有几个关于此的主题 但没有一个回答我的问题 我已经像这样实现了我的单例类 意识到有关单例的争议 MyClass sharedInstance static MyClass sharedInstance nil static dispa
  • OpenIdDict 不从 .Net Core API 返回令牌

    我有一个 Net Core API 项目 我在其中使用 OpenIDDict 进行身份验证 我在那里提到官方存储库 https github com openiddict openiddict samples blob dev sample
  • 如何跟踪页面上的链接被点击的位置?

    我正在接管一个具有三列布局的网站的开发 左侧 菜单 内容横幅 主要 内容 右侧 内容横幅 他们 网站所有者 使用内容横幅来宣传重要内容 我试图让他们明白 根据人类阅读模式的 P 形状 位于右下角 右栏 底部 的项目实际上对访问者来说是不可见
  • 手动输入日期时 md-datepicker 显示错误

    我正在使用 md datepicker 当我手动输入日期时 它显示无效日期 但如果我从此控件中选择日期 则它会被验证 为此我使用了以下代码
  • 在 PHP Foreach 循环之外使用变量

    我试图在 foreach 循环之外输出用户名和用户电子邮件 我正在尝试向特定用户角色内的所有 WordPress 用户发送电子邮件 这是我的代码 Get users and their roles user args array role
  • Windows Phone 7 通过 wifi 接收 UDP 数据包(广播或单播)

    我已经看了好几天有关 Windows Phone 7 的各个论坛 但没有一个给我明确的答案 到目前为止 我还无法接收从通过 wifi 连接到 Windows Phone 7 设备 在模拟器上运行 的计算机发送的 UDP 数据包 既不是广播也
  • Uploadify:使用 scriptData 将表单的 ID 作为参数传递

    我需要能够使用 Uploadify 在一页上有多个上传输入 可能有数百个 上传 PHP 文件将根据用于提交文件的输入按钮的 ID 重命名上传的文件 因此它将需要该 ID 由于我将在一个页面上有数百个上传按钮 因此我想创建一个通用实例 因此我
  • 带有主查询数据变量的 MySQL 子查询

    好的 这里需要一位 MySQL 专家 我正在尝试编写一个查询 当有人对您之前评论过的项目发表评论时 该查询将充当通知系统 drinkComment 表非常简单 commentID userID drinkID datetime commen