2016-11-13 14 views
0

これは私の現在のクエリです:あなたが同じのlocationNameを持つ複数の行があるので、それはのlocationNameでグループ化されています見ることができるようにSQL:COUNT()グループ化された結果

SELECT locationname, eventid 
FROM events 
GROUP BY locationname 
ORDER BY locationname ASC 

出力では、「別個の」(グループ化された)場所の一覧が必要ですが、すべての場所の後ろには各場所の合計が必要です。

"イベント"に4つの場所があり、 "コングレスセンターNYC"の場合、出力は "Congress Center NYC(4)"にする必要があります。

COUNT()でクエリを拡張する方法はありますか?

ありがとうございます!

答えて

3

これは簡単な集約クエリです。

SELECT locationname, COUNT(*) number 
    FROM events 
GROUP BY locationname 
ORDER BY locationname 

特定の書式が必要な場合は、この最初の行を使用して取得できます。

SELECT CONCAT(locationname, ' (', COUNT(*), ')') 
2

COUNT(locationname)を選択すると、必要な処理が行われます。私。クエリの例では

SELECT locationname, COUNT(locationname) 
FROM events 
GROUP BY locationname 
ORDER BY locationname ASC 
0

あなたが最初の「EVENT_ID」を受信するグループを追加するとき「のevent_id」は、そこにあるあなたがすべてのイベントを取得し、実行するためGROUP_CONCATを使用することができます 、同じ「locationame」を持つ行を発生しましたまた、あなたが

SELECT concat(locationname, ' (', count(*), ')') 
FROM events 
GROUP BY locationname 
ORDER BY locationname ASC 
を書いたとおりに出力を持つようにconcat関数を使用することができます

SELECT locationname, group_concat(eventid), count(eventid) as number 
FROM events 
GROUP BY locationname 
ORDER BY locationname ASC 

同じ時間にカウント

関連する問題