2016-12-20 8 views
-6

Ziel ist es, die 2 beliebtesten Städte zu finden, die Reisende besuchen. Endergebnis ist zu sehen, welche 2 Städte die höchste Anzahl hat.Top 2 Städte finden Besucher

Ist es shanghai + Peking oder Chengdu + shenyang usw.

Ich bin fest nach unten auf die unten Dataset kommen.

3 Spalten darunter. ID = customerid, city = Städte, die von Kunden gereist wurden, row num = Gesamtstädte von jedem Reisenden.

ID  | City | row_num 
------ | ------ | ------ 
177 | DALIAN | 1 
177 | SHANGHAI| 2 
177 | SHENYANG| 3 
291 | BEIJING | 1 
291 | DALIAN | 2 
5045 | CHENGDU | 1 
5045 | CHONGQIN| 2 
5045 | GUANGZHO| 3 
5195 | XI'AN | 1 
5195 | XIAN | 2 

select ID, Stadt, row_num von [Tabelle1] Gruppe von ID, Stadt, row_num

in der obigen Tabelle Stuck (vereinfacht). Aber schließlich will ich unten zeigen:

Cities   | Occurrence 
------   | ------ 
shanghai+beijing | 550 
------   | ------ 
beijing+chengdu | 320 
------   | ------ 
chengdu+shengyang| 110 

btw SQL-Server.

+3

Ich wähle diese Frage als Wegthema zu schließen, weil Es ist ein Code-Abfrage – SomeJavaGuy

+1

Welche DBMS verwenden Sie? Außerdem: bearbeite deine Frage und füge die bereits vorhandene Suchanfrage hinzu. –

+0

danke! Ich habe mit einfacher Abfrage aktualisiert. SQL-Server btw verwenden. –

Antwort

0

Versuchen Sie folgendes:

SELECT TOP 2 X.City 
FROM (
     SELECT City,COUNT(City) as CN 
     FROM [YourTable] 
     GROUP BY City 
         ) X 
ORDER BY X.CN DESC 
+0

danke jibin! nicht sicher, wie man Ihr vorgeschlagenes verwendet, um das Ergebnis zu erzielen. –

+0

für zB Kundennummer 177 hat 3 Städte, also ich will in 3 anzeigen "Satz Stadtpaare" dalian + shanghai = 1 dalian_shengyang = 1 shanghai + shengyang = 1 –