Sql select查询中的显示列未添加到group by子句中

Sql select查询中的显示列未添加到group by子句中,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我一直在创建sql查询 表: XX_AR_RECEIPT_CREATE 栏目: RECEIPT_ID ENTITY LOG_ID ACTIVITY_ID FIN_CLASS RECEIPT_METHOD RECEIPT_AMOUNT RECEIPT_TYPE

我一直在创建sql查询

表:

XX_AR_RECEIPT_CREATE
栏目:

RECEIPT_ID                 
ENTITY                    
LOG_ID                    
ACTIVITY_ID               
FIN_CLASS                 
RECEIPT_METHOD            
RECEIPT_AMOUNT            
RECEIPT_TYPE              
RECEIPT_NUMBER     
RECEIPT_DATE              
POSTED_DATE               
ACTIVITY_DATE             
SERVICE_DATE              
CASHIER_NAME              
CASHIER_USERNAME          
PAYMENT_REFERENCE_NUMBER  
DEPARTMENT                
SPECIALITY                
ACCOUNT                   
STATUS                    
这是我的问题

select to_char(sum(to_number(receipt_amount))) amount,entity, cashier_name, 
       receipt_method, fin_class,to_char(to_date(posted_date, 'dd/mm/yy HH24:MI:SS'), 'dd/mm/yy') as receipt_date
from XX_AR_RECIPT_CREATE
where to_number(receipt_amount)>0 and status='0'
group by entity, cashier_name, receipt_method,
         fin_class, to_char(to_date(posted_date,'dd/mm/yy HH24:MI:SS'), 'dd/mm/yy');
它工作得很好,问题是我想添加一些额外的列例如LOG_ID,但是我不能在groupby子句中添加它。 例如:

我也在互联网上搜索解决方案。内部连接是一个很好的解决方案。但问题是我正在使用to_char,所以我不能用它添加别名。我使用的是Oracle Database 11g Express Edition 11.2.0.2.0版-64位生产版

您需要决定需要哪个日志ID。例如,要获得最小值:

select to_char(sum(to_number(receipt_amount))) as amount, entity, cashier_name, 
       receipt_method, fin_class,
       to_char(to_date(posted_date, 'dd/mm/yy HH24:MI:SS'), 'dd/mm/yy') as receipt_date,
       min(LOG_ID) as LOG_ID
或者获取一个不太长的列表:

select to_char(sum(to_number(receipt_amount))) as amount, entity, cashier_name, 
       receipt_method, fin_class,
       to_char(to_date(posted_date, 'dd/mm/yy HH24:MI:SS'), 'dd/mm/yy') as receipt_date,
       listagg(LOG_ID, ',') within group (order by LOG_ID) as LOG_IDs

谢谢@Gordon我刚忘了列表。这对我有帮助。
select to_char(sum(to_number(receipt_amount))) as amount, entity, cashier_name, 
       receipt_method, fin_class,
       to_char(to_date(posted_date, 'dd/mm/yy HH24:MI:SS'), 'dd/mm/yy') as receipt_date,
       listagg(LOG_ID, ',') within group (order by LOG_ID) as LOG_IDs