首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql计数收货行

mysql计数收货行
EN

Stack Overflow用户
提问于 2017-07-13 20:03:14
回答 1查看 39关注 0票数 0

伙计们。我有一张桌子,像:

代码语言:javascript
复制
date_time_stamp         | value
________________________
01.01.2001 01:01:00     | test
02.01.2001 01:01:00     | foo
02.01.2001 01:01:00     | test
03.01.2001 01:01:00     | foo
04.01.2001 01:01:10     | test
04.01.2001 01:01:00     | test
05.01.2001 01:01:00     | test

我想数一数有多少次测试,但只算最新的结果,

但只是数数

代码语言:javascript
复制
04.01.2001 01:01:10 | test 

代码语言:javascript
复制
05.01.2001 01:01:00 | test

因为它们是最新的结果,没有日期上的模糊。如果有一个副本--你只需要计算最新的一个。有什么办法吗?或者还有另一种解决办法?还想添加这个值是一个集合。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-13 20:25:15

下面将给您最新的date_time_stamp,它具有每天的test值。MAX()是一个聚合函数,可以处理日期和时间。

代码语言:javascript
复制
SELECT MAX(date_time_stamp), value from TABLE_NAME
WHERE value = 'test'
GROUP BY date_time_stamp
ORDER BY date_time_stamp

输出将是类型..。

代码语言:javascript
复制
MAX(date_time_stamp)    | value
_______________________________
01.01.2001 01:01:00     | test
02.01.2001 01:01:00     | test
04.01.2001 01:01:10     | test
05.01.2001 01:01:00     | test

如果你只想计算test的数量,并且每天只选择最新的结果,那么下面的内容应该会有帮助.

代码语言:javascript
复制
SELECT COUNT(*) 
FROM (SELECT MAX(date_time_stamp) from TABLE_NAME
      WHERE value = 'test'
      GROUP BY date_time_stamp)

输出将是类型..。

代码语言:javascript
复制
COUNT(*)
________
4

上面的NOTE:假设列date_time_stamp是DATETIME数据类型,否则您必须使用两个函数(替换,STR_TO_DATE)才能获得日期时间格式。

Sample Data:让orderDates和employeeId来处理它。对于演示,我们将选择employeeId=4谁已经处理了超过一个订单在同一天,这里没有时间,所以将有重复和最大将不受重复的影响,因为它将始终选择最大值,即使有重复。

Output of 1st Query:只有当天的最新订单,由employeeId=4处理

Final Query:employeeId=4处理的订单总数,每天只选择最新订单。

您可以在in上尝试所有查询

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45089982

复制
相关文章

相似问题

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