【发布时间】:2020-04-28 14:28:05
【问题描述】:
我需要逐行提取而不对所有 clientID 进行分组,见下文。
我正在编写一个快速摘要,以了解我们的客户预订产品的次数,以便我们了解他们的第二次、第三次或第四次预订。
select c.clientid, c.bookref, left(c.tourno, 6) as tourref, c.book_date
from cust c
where c.book_date between '2018-01-01' and ' 2020-01-01'
order by clientid asc, book_date asc
这是非常基本的 SQL,每次预订都会生成一行结果。我需要做的是计算ClientID出现的次数,并通过“clientid asc,book_date asc”对表格进行排序,我应该能够得出一长串预订以及每行对应的预订号.
不幸的是,我看到的所有帮助示例基本上都将 ID 列分组,所以我可以看到 ID“255253”的计数为 7(因此有 7 个预订),但不知道这些预订是什么。
谢谢!顺便说一句,我正在使用 Advantage SQL。
我认为最好的解释方法是,假设您在 Excel 的 A 列中有一个按日期顺序排列的 clientID 升序列表,然后将此公式应用于单元格 B2:
=IF(A2=A1,B1+1,1)
【问题讨论】:
标签: sql advantage-database-server