首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -获取唯一键的每日计数

MySQL -获取唯一键的每日计数
EN

Stack Overflow用户
提问于 2013-08-28 15:45:29
回答 2查看 107关注 0票数 0

我有一个MySQL数据库,在那里我可以存储门禁.我在努力弄清楚如何让每个键的日常实例数.

样本数据:

代码语言:javascript
复制
 id  |       timestamp      |  key 
-----------------------------------
  0  |  2013-06-09 14:58:07 |  001
  1  |  2013-06-11 07:21:13 |  001
  2  |  2013-06-11 10:05:11 |  001
  3  |  2013-06-12 07:13:59 |  002
  4  |  2013-06-12 10:05:01 |  002
  5  |  2013-06-12 14:31:01 |  001
  6  |  2013-06-13 11:28:14 |  001
  7  |  2013-06-13 07:00:28 |  002
  8  |  2013-06-14 14:05:13 |  002
  9  |  2013-06-15 09:38:23 |  002

我希望最后的结果是:

代码语言:javascript
复制
key | 09 | 10 | 11 | 12 | 13 | 14 | 15 | ACCESSED DAYS |
---------------------------------------|---------------- 
001 |  1 |  0 |  2 |  1 |  1 |  1 |  1 |             6 |
002 |  0 |  0 |  0 |  2 |  1 |  0 |  0 |             2 |

谢谢您抽时间见我!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-28 15:51:48

您可以使用条件聚合来完成此操作:

代码语言:javascript
复制
select `key`,
       sum(day(timestamp = 9)) as `09`,
       sum(day(timestamp = 10)) as `10`,
       sum(day(timestamp = 11)) as `11`,
       sum(day(timestamp = 12)) as `12`,
       sum(day(timestamp = 13)) as `13`,
       sum(day(timestamp = 14)) as `14`,
       sum(day(timestamp = 15)) as `15`,
       count(distinct date(timestamp)) as accessdays
from t
group by `key`;

要获得天数,只需计算不同的天数。

票数 0
EN

Stack Overflow用户

发布于 2013-08-28 16:05:05

这是我的思考过程

首先,让我们为一个键选择所有的日期。

代码语言:javascript
复制
SELECT DISTINCT DAY(timestamp) FROM sample_data WHERE key = ?

第二,让我们从前面的结果中计算列数

代码语言:javascript
复制
SELECT COUNT(*) as access_days FROM (SELECT DISTINCT DAY(timestamp) from sample_data WHERE key = ?) a

最后,让我们将它与一个GROUP BY混合起来,从每个单独的键中获得结果

代码语言:javascript
复制
SELECT
    b.key as key,
    (SELECT COUNT(*) FROM (SELECT DISTINCT DAY(timestamp)
     FROM sample_data a WHERE a.key = b.key)) access_days
FROM sample_data b
GROUP BY b.key
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18492544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档