【发布时间】:2020-11-19 00:29:13
【问题描述】:
我想获取特定日期和时间的重复行,按 bname 和 txn_date 分组 AND txn_date 最多小时和分钟(秒不需要匹配)
例如,我获取下面的行 txn_date = 2020/07/28、txn_type = OPD、payment_mode = CREDIT 和 inv_num 以 AGL 开头
其中,我只想要 ID 为 1 - 4 的行
ID | txn_date | bname
-----------------------------------------------
1 | 2020/07/28 10:21:58 PM | MRS R A W B VERNON
2 | 2020/07/28 10:21:56 PM | MRS R A W B VERNON
3 | 2020/07/28 09:51:58 AM | MRS TRIDENTZ
4 | 2020/07/28 09:51:58 AM | MRS TRIDENTZ
5 | 2020/07/28 09:49:51 AM | MRS TRIDENTZ
6 | 2020/07/28 08:33:14 AM | MRS TRIDENTZ
7 | 2020/07/28 08:25:06 AM | MRS S F D SHERILA
8 | 2020/07/28 08:11:35 AM | MRS S F D SHERILA
我在下面使用这个查询。
select to_char(l.txn_date,'YYYY/MM/DD HH12:MI:SS AM') "DATE",l.bname
from linv l where (bname) IN (select bname from linv
where txn_date like '28-JUL-20%'
group by bname, txn_date
having count(*) > 1) and l.txn_type = 'OPD' and payment_mode = 'CREDIT'
and inv_num like 'AGL%'
and txn_date like '28-JUL-20%'
order by l.txn_date desc, l.bname
但这并没有给我想要的输出,因为一些必需的行没有被获取。
我尝试将 group by 更改为 to_char(txn_date, 'HH24'),但这也没有用。
我认为group_by txn_date 有问题但无法修复。有人可以帮忙吗?
谢谢!
【问题讨论】:
-
你想要什么结果?
-
我做了一些修改并指定了我想要的结果
标签: sql oracle select group-by