作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为需要查看客户是否已取消并重新提交订单的工作准备一份报告。没有任何方法可以链接这两个订单,我所要做的就是 customer_id、order_date 和状态。我需要找到特定日期范围内的所有客户,并且在同一天有超过一个客户的订单记录,返回 customer_id 就足够了
order_id customer_id order_date status
1 1234 30/12/2013 09:10:55 CANCELLED
2 2222 30/12/2013 09:17:12 APPROVED
3 4321 30/12/2013 10:04:10 APPROVED
4 1234 30/12/2013 10:22:01 APPROVED
在上面的示例数据中,它会找到订单 1 和 4 并返回 customer_id 1234。状态是什么并不重要,因为我可以从报告中选择它们。
我做了一些挖掘并想出了这样的东西:
SELECT customer_id,
(SELECT COUNT(*) AS count
FROM orders AS o2
WHERE (order_date = o1.order_date)) AS counter
FROM orders AS o1
WHERE (order_date BETWEEN '2013-12-01' AND '2014-01-01')
GROUP BY customer_id, order_date
HAVING (counter >= 2)
但是我在尝试运行它时遇到了一个错误,所以我显然在某处遇到了一些错误。
如有任何帮助,我们将不胜感激。
最佳答案
子查询有点偏离,但您可以完全跳过子查询,只需按 customer_id
和 order_date
的日期部分进行分组并计算每个结果即可一天;
SELECT DISTINCT customer_id
FROM orders
WHERE order_date >= '2013-12-01' AND order_date < '2014-01-02'
GROUP BY customer_id, CAST(order_date AS DATE)
HAVING COUNT(*) >= 2
请注意,由于您的日期附加了任意时间,如果不在 where 子句中也转换为 DATE
,则无法轻松使用 BETWEEN
。直接比较日期更容易(上限小于前一天的所有时间)
关于sql - T-SQL 在给定日期范围内的同一天查找来自同一客户的多个订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187458/
我有一个应用程序,用户在 edittext 中输入数据并按下保存按钮。 通过按“保存”,我将用户数据(在一列中)和当前日期(在另一列中)保存在一个文件中。 然后,我按下另一个按钮并制作绘图(使用图表引
我是一名优秀的程序员,十分优秀!