2017-06-21 8 views
1

私は、このSQLコードを持っている:SQL:同じ値を表示するグループバイステートメント?

select count(req_id), SUBMITS from requests where result='REJECT' GROUP BY SUBMITS 

私は取得しています出力は次のようになります。

1 16-JUN-17 
1 19-JUN-17 
1 16-JUN-17 
1 16-JUN-17 

私が欲しいのに対し:

3 16-JUN-2017 
1 19-JUN-2017 
+2

あなたの日付?日付列のタイプは何ですか? – Aleksej

+0

これは起こりません。 SUBMITS列はDATEまたはCHAR/VARCHAR型ですか?最新のものであれば、目に見えない文字があるかもしれません。 –

+0

@ThomasGそれはDATE型です。 – Rishabh

答えて

2

あなたはおそらく、時間、分、秒を持っていますあなたのSUBMITS列にあなたのツールが表示されていないことを確認してください。この方法では、すべての行に同じSUBMITS値があると信じられますが、日付は同じですが時間は異なります。

ので、あなただけの時間、分、秒せずに、これまでの情報を制限する必要がある場合:例えば

select count(req_id), trunc(SUBMITS) 
from requests 
where result='REJECT' 
GROUP BY trunc(SUBMITS) 

多分あなたは時間、分、秒でを持って
SQL> create table requests (submits date, result VARCHAR2(10), req_id NUMBER); 

Table created. 

SQL> insert into requests (req_id, submits, result) values (1, sysdate, 'REJECT'); 

1 row created. 

SQL> insert into requests (req_id, submits, result) values (2, sysdate, 'REJECT'); 

1 row created. 

SQL> insert into requests (req_id, submits, result) values (3, sysdate, 'REJECT'); 

1 row created.  

SQL> select count(req_id), trunc(SUBMITS) 
    2 from requests 
    3 where result='REJECT' 
    4 GROUP BY trunc(SUBMITS); 

COUNT(REQ_ID) TRUNC(SUB 
------------- --------- 
      3 21-JUN-17 

SQL> select count(req_id), SUBMITS 
    2 from requests 
    3 where result='REJECT' 
    4 GROUP BY SUBMITS; 

COUNT(REQ_ID) SUBMITS 
------------- --------- 
      1 21-JUN-17 
      1 21-JUN-17 
      1 21-JUN-17 
+0

が役に立ちます。これはうまくいきました。ありがとうございました。 :) – Rishabh

関連する問題