我会跟踪哪些人登录到我们的本地服务器,如下面的数据库所示。
我的数据库结构是:
user logon reconnect
mike 2015-07-09
mike 2015-07-09
mike 2015-07-09
mike 2015-07-09
john 2015-07-09
john 2015-07-09
john 2015-07-09
pete 2015-07-09
pete 2015-07-09
pete 2015-07-09
matt 2015-07-09
sara 2015-07-09
date totalcount
2015-07-09 4
SELECT DATE(logon) AS `date`, COUNT(DISTINCT `user`) AS totalcount
FROM user_logons
GROUP BY DATE(logon)
ORDER BY DATE(logon) DESC
LIMIT 14
date totalcount
2015-07-09 399
2015-07-08 513
2015-07-07 524
2015-07-06 456
2015-07-05 213
2015-07-04 300
2015-07-03 484
2015-07-02 525
2015-07-01 539
2015-06-30 536
2015-06-29 481
2015-06-28 289
2015-06-27 423
2015-06-26 509
使用coalesce()
函数“组合”这两个日期:
SELECT DATE(COALESCE(logon, reconnect)) AS `date`, COUNT(DISTINCT `user`) AS totalcount
FROM user_logons
GROUP BY DATE(COALESCE(logon, reconnect))
ORDER BY DATE(COALESCE(logon, reconnect)) DESC
LIMIT 14
问题内容: 我有一个像这样的表(tb_data) 我的问题是如何使它像这样 哦,这是我失败的尝试 我也尝试过此操作,但是它没有用,它说“字段列表中的“未知”列“疾病”,因为我真的不明白这是什么错误 问题答案: 您可以使用取消透视数据集,然后聚合:
问题内容: 我编写了一个脚本,该脚本在用户每次登录我们域中的计算机时运行。此脚本记录用户以及他们登录的计算机。任意数量的用户可以登录任意数量的计算机。 我只是从一个不在的顾问那里继承了这个IT环境,并且正在编写这个小查询,因此当接到用户的呼叫时,我可以按该用户的名字进行搜索,并合理地预测该用户正在使用的计算机。他们登录到任何给定计算机的次数。 这是“登录”表中数据的示例: 我要敲定的逻辑是跨多个列
问题内容: 基本上,我一直在尝试执行此操作(基于两列的计数不同): 一直在搜寻如何执行此操作,但是没有运气。尝试过此方法,但从未真正起作用。根据两个表的两个属性,这并没有明显的不同: 问题答案: 好的,这将采取一些步骤,请多多包涵。我在这里假设使用SQL Server,但说明应适用于支持1的任何方言: 创建支持该功能的自定义方言: { public MyCustomDialect() { Regi
我有以下代码。。。 } ...如果我想返回与WHERE条件匹配的行的总数,这样做很好。 但是,我只想计算这3列中具有不同/唯一数据组合的记录:C_URI、C_BYTE_START_NUM和C_NUM_BYTES。 我知道我可以做一些像。。。 ...但是我希望在这种情况下有更有效的方法来执行不同的计数?? 为了增加清晰度,如果我的表中有这些数据… C_URI |C_BYTE_START_NUM |C
问题内容: 我的表单中有一个字符串,我想搜索多个列以查找这些值的出现。 例如 有人可以推荐我一种简单而又简短的方法来做这样的事情。 问题答案: 使用FIND_IN_SET函数:
我有一个问题,很高兴收到你的反馈。在MySQL中更新我的表的数据时,出现以下消息: 该表为: INT NOT NULL AUTO_INCREMENT,VARCHAR(50)NOT NULL,日期NOT NULL,日期NOT NULL,INT NOT NULL,VARCHAR(10)NOT NULL,INT NOT NULL,主键 和代码: 和 提前感谢!