You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL单表查询:如何获取Display_Name与Play_Time的元值?

正确查询MySQL单表中指定submission_id的多个key对应值的方法

嘿,你的原查询语句有个逻辑问题哦——同一个key字段不可能同时等于'Display_Name'和'Play_Time',这就像要求一个人同时是张三和李四,自然查不到结果啦!下面给你两种实用的解决方案:

方案1:获取两行结果(保留原表行结构)

如果你只是想拿到这两个key对应的两条记录,可以用IN或者OR来替换原语句里的双重AND:

  • 使用IN的写法:
SELECT `key`, `value` FROM `myTable` 
WHERE submission_id = '47' 
AND `key` IN ('Display_Name', 'Play_Time');
  • 使用OR的写法(效果和上面一致):
SELECT `key`, `value` FROM `myTable` 
WHERE submission_id = '47' 
AND (`key` = 'Display_Name' OR `key` = 'Play_Time');

这两种写法都会返回两行数据,分别对应你要的两个key和它们的value。

方案2:将结果合并为一行(转成列展示)

如果你希望把两个value放在同一行的不同列里,方便查看或后续处理,可以用CASE配合聚合函数实现行转列:

SELECT
  submission_id,
  MAX(CASE WHEN `key` = 'Display_Name' THEN `value` END) AS Display_Name,
  MAX(CASE WHEN `key` = 'Play_Time' THEN `value` END) AS Play_Time
FROM `myTable`
WHERE submission_id = '47'
GROUP BY submission_id;

执行这条语句后,你会得到一行数据,其中Display_Name列对应红色高亮的名称值,Play_Time列对应时长值。

内容的提问来源于stack exchange,提问作者HELLBORN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:40:18