gpt4 book ai didi

mysql - SELECT 任意记录组的最新记录(忽略只有一条记录的记录)

转载 作者:行者123 更新时间:2023-11-29 14:48:53 24 4
gpt4 key购买 nike

查询时遇到问题,无法返回具有 1 个以上订单的任何分组订单集的最新订单。下面是测试数据的创建和插入。

此查询返回我想要使用的唯一客户 ID 以及分组的 order_id。在这些记录中,我只需要最近的订单(基于 date_added)。

从 orderTable GROUP BY customer_id 中选择 COUNT(customer_id)、customer_id、GROUP_CONCAT(order_id),其中 COUNT(customer_id)>1 LIMIT 10;

mysql> SELECT COUNT(customer_id), customer_id, GROUP_CONCAT(order_id) FROM orderTable     GROUP BY customer_id HAVING COUNT(customer_id)>1 LIMIT 10;
+--------------------+-------------+------------------------+
| COUNT(customer_id) | customer_id | GROUP_CONCAT(order_id) |
+--------------------+-------------+------------------------+
| 2 | 0487 | F9,Z33 |
| 3 | 1234 | 3A,5A,88B |
+--------------------+-------------+------------------------+
2 rows in set (0.00 sec)

我正在查找订单 Z33 (customer_id 0487) 和 3A (customer_id 1234)。

需要澄清的是,我不希望只订购过一次的客户收到订单。

任何帮助或提示让我指向正确的方向表示赞赏。

示例表数据:

--

--表orderTable的表结构

如果不存在则创建表orderTable ( customer_id varchar(10) NOT NULL, order_id varchar(4) NOT NULL, date_add 日期不为空, 主键(customer_idorder_id)) ENGINE=MyISAM 默认字符集=latin1;

--

--转储表orderTable

的数据

插入orderTable(customer_idorder_iddate_added)值('1234', '5A', '1997-01-22'),('1234', '88B', '1992-05-09'),('0487', 'F9', '2002-01-23'),('5799', 'A12F', '2007-01-23'),('1234', '3A', '2009-01-22'),('3333', '7FHS', '2009-01-22'),('0487', 'Z33', '2004-06-23');

================================================== ===========

最佳答案

澄清查询。问题是只包括那些有更多订单的客户...因此我的查询将其包含在 GROUP BY 中...这样它只提供有多个订单的相关客户,但同时只提供该人最后一个订单的最近日期...然后,预查询通过公共(public)客户 ID 重新连接到订单表,但仅限于与预查询中检测到的最后日期匹配的订单。如果客户只有一个订单,则其内部 PreQuery 计数仅为 1,因此被排除在最终 PreQuery 结果集中。

select ot.*
from
( select
customer_id,
max( date_added ) as LastOrderDate,
from
orderTable
having
count(*) > 1
group by
customer_id ) PreQuery
join orderTable ot
on PreQuery.Customer_ID = ot.Customer_ID
and PreQuery.LastOrderDate = ot.date_added

关于mysql - SELECT 任意记录组的最新记录(忽略只有一条记录的记录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com