2011-07-23 8 views
1

I持って、次の2つのクエリ:このクエリを構築する方法

出力だSELECT CARD_ID、COUNT CARD_ID

BY G_CARD_SCHEDULEグループからCNT1 AS(CARD_ID)があるが

CARD_ID  CNT1 
119   1 
120   2 

SELECT CARD_ID、COUNT(CARD_ID)AS CNT2 G_SENT_TABLE GROUP BY CARD_ID

誰の出力が

CARD_ID  CNT2 
115   2 
120   1 

今私のクエリでは、これら2

CARD_ID  CNT2 
120   3 
115   2 
119   1 

を使用して出力だから基本的に私は、ソートされたIDを介してそれらの合計を取得する必要がありますされています。どうすればいいのですか?

答えて

2
select card_id,count(card_id) as cnt2 from (
SELECT CARD_ID FROM G_CARD_SCHEDULE 
union all 
SELECT CARD_ID FROM G_SENT_TABLE) as t 
group by card_id 
order by cnt2 desc 
+0

タイそう!私は組合について全く考えなかった!しかし、あなたは 'as cnt2 as tot'を2回使用しています。 MySQLはこれを許可しませんでした。私は 'as tot'の部分を削除しました – footy

+0

残念です。打ち間違え。私はususallyとしてtotを使用した後私はあなたのエイリアスで自分の投稿を編集しました;) –

2
SELECT CARD_ID, 
     COUNT(*) cnt 
    FROM (SELECT card_id 
      FROM G_CARD_SCHEDULE 
      UNION ALL 
      SELECT card_id 
      FROM G_SENT_TABLE) x 
GROUP BY card_id 
ORDER BY cnt DESC 
+0

タイそれほど!私は組合について全く考えなかった! – footy

0

について何を:それはあなたが何を望むか

SELECT CARD_ID, COUNT(CARD_ID) FROM 
     (SELECT CARD_ID FROM G_CARD_SECHEDULE 
    UNION ALL 
     SELECT CARD_ID FROM G_SENT_TABLE) 
    AS G_CARD_UNION GROUP BY CARD_ID; 

...を取得していますか?

関連する問題