RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 645138
Accepted
Пупкин_Василий
Пупкин_Василий
Asked:2020-03-28 17:17:24 +0000 UTC2020-03-28 17:17:24 +0000 UTC 2020-03-28 17:17:24 +0000 UTC

MYSQL 一张表输出两条select

  • 772

请帮助,我无法将两个请求合并为一个。他们每个人都显示一行,其中包含有关总数的必要数据。在两行的一个标签中是可取的。联合不工作:

首先:

select s_n_name, count(duration) as 'Количество', SEC_TO_TIME(sum(TIME_TO_SEC(duration))) as 'Время'
from table where s_n='001111';

第二:

select s_n_name, count(duration) as 'Количество', SEC_TO_TIME(sum(TIME_TO_SEC(duration))) as 'Время'
from table where s_n='002222';
mysql
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    vp_arth
    2020-03-28T18:37:04Z2020-03-28T18:37:04Z

    您可以使用 IN WHERE 子句按键对结果进行分组:

    select s_n_name, 
        count(duration) as cnt,
        SEC_TO_TIME(sum(TIME_TO_SEC(duration))) as `time`
    from table where s_n IN ('001111', '002222')
    group by s_n, s_n_name;  
    

    或者,如果严格需要 2 个结果:

    select s_n_name, 
        count(duration) as cnt_dur,
        SEC_TO_TIME(sum(TIME_TO_SEC(duration))) as secs
    from table where s_n='001111' OR s_n='002222'
    group by s_n, s_n_name;   
    

    需要分组来覆盖聚合函数的常量分组COUNT——不自定义分组,查询的结果永远是一行


    如果您需要将两个具有相同签名的抽象查询(更复杂的条件)的结果组合起来,请使用union all:

    select s_n_name, 
        count(duration) as cnt,
        SEC_TO_TIME(sum(TIME_TO_SEC(duration))) as secs
    from table where s_n='001111'
    UNION ALL
    select s_n_name, 
        count(duration) as cnt,
        SEC_TO_TIME(sum(TIME_TO_SEC(duration))) as secs
    from table where s_n='002222';   
    
    • 1
  2. Lexx918
    2020-03-29T17:15:26Z2020-03-29T17:15:26Z

    分组将为您节省:

    SELECT s_n_name, COUNT(*) n, SEC_TO_TIME(SUM(TIME_TO_SEC(duration))) as t
    FROM _table
    WHERE s_n IN('001111', '002222')
    GROUP BY s_n;
    

    为了调试,我使用了以下临时表:

    CREATE TEMPORARY TABLE _table(s_n char(6), s_n_name char(14), duration TIME)
      SELECT '001111' s_n, 'name is 001111' s_n_name, '00:11:11' duration UNION ALL
      SELECT '001111' s_n, 'name is 001111' s_n_name, '00:11:11' duration UNION ALL
      SELECT '001111' s_n, 'name is 001111' s_n_name, '00:11:11' duration UNION ALL
    
      SELECT '002222' s_n, 'name is 002222' s_n_name, '00:22:22' duration UNION ALL
      SELECT '002222' s_n, 'name is 002222' s_n_name, '00:22:22' duration UNION ALL
      SELECT '002222' s_n, 'name is 002222' s_n_name, '00:22:22' duration UNION ALL
      SELECT '002222' s_n, 'name is 002222' s_n_name, '00:22:22' duration UNION ALL
    
      SELECT '003333' s_n, 'name is 003333' s_n_name, '00:33:33' duration UNION ALL
      SELECT '003333' s_n, 'name is 003333' s_n_name, '00:33:33' duration;
    

    你可以使用联合(我不明白什么对你不起作用),但这是地狱!

    SELECT s_n_name, COUNT(*) n, SEC_TO_TIME(SUM(TIME_TO_SEC(duration))) as t
    FROM _table
    WHERE s_n = '001111'
    
    UNION
    
    SELECT s_n_name, COUNT(*) n, SEC_TO_TIME(SUM(TIME_TO_SEC(duration))) as t
    FROM _table
    WHERE s_n = '002222';
    
    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5