2017-06-06 70 views
0
SELECT DISTINCT 
    'XXXXXXXXXXX', 
    APP_ID, 
    COND_ID, 
    GMTDATE, 
FROM TABLE_NAME 
WHERE COND_ID = 'XXXXXXXXXXXXXXXXX'; 

上面的查询有超过100,000个数据。我希望获得单行结果,因为它在给出多行的同时,因为处理数据需要一秒多的时间。多行到单行查询结果

AS的结果是:(双行)

XXXXXXXXXXX APP_ID  COND_ID   GMTDATE 
XXXXXXXXXXX 11091000000 20170601010765 06-JUN-17 
XXXXXXXXXXX 11091000000 20170601010765 06-JUN-17 

期望的结果是:(一行)

XXXXXXXXXXX APP_ID  COND_ID   GMTDATE 
XXXXXXXXXXX 11091000000 20170601010765 06-JUN-17 
+1

你的样表数据是难以阅读。你能编辑你的问题,并使其更清楚吗? –

+0

如果所有列中的数据确实相同,则不应该使用“DISTINCT”获取这两行。我不确定我能在这里说些什么。 –

+0

因此,因为DISTINCT被使用,所以它应该给出一行数据。表具有巨大的数据..所以它需要超过2-3秒的时间来处理数据..所以它每秒产生一行。我的意思是某一行2行,某一行3行。 –

回答

0
SELECT DISTINCT 
'XXXXXXXXXXX', 
APP_ID, 
COND_ID, 
GMTDATE, 
FROM TABLE_NAME 
WHERE COND_ID = 'XXXXXXXXXXXXXXXXX' 
GROUP BY 1,2,3,4 ; --I have assumed 'XXXXXXXXXXX' is a column name 
+0

是XXXXXXXXXXX是列名..什么GROUP BY 1,2,3,4?你的意思是GROUP BY'XXXXXXXXXXX', APP_ID, COND_ID, GMTDATE它仍然给出相同的结果。 –

+0

@ShaktiPravesh,使用distinct是多余的。你可以删除它。我还假设你把'XXXXXXXXXXX'没有引号('')。是的,1,2,3,4代表那些列 – PrinceKayastha