2017-08-30 36 views
0

我有這個表:SQL服務器的數量比多列

+-----------+--------+ 
| FILE CODE | STATES | 
+-----------+--------+ 
| TEST 1 | CA  | 
| TEST 2 | CA  | 
| TEST 1 | CA  | 
| TEST 2 | CA  | 
| TEST 3 | CA  | 
| TEST 4 | CA  | 
| TEST 5 | CA  | 
| TEST 1 | AZ  | 
| TEST 1 | LI  | 
| TEST 4 | CA  | 
| TEST 4 | CA  | 
+-----------+--------+ 

這應該是輸出 (請參閱圖像下方的票,但對輸出一些麻煩)

+----------+--------+---------+ 
| FILECODE | STATES | COUNTS | 
+----------+--------+---------+ 
| TEST 1 | CA |  2 | 
| TEST 1 | AZ |  1 | 
| TEST 1 | LI |  1 | 
| TEST 2 | CA |  2 | 
| TEST 3 | CA |  1 | 
| TEST 4 | CA |  3 | 
| TEST 5 | CA |  1 | 
+----------+--------+---------+ 

代碼:

SELECT 
    S.States, S.FIRST_MORTGAGE_PRIMARY_LOAN_TYPE, C.COUNTS 
FROM 
    Master_Files S 
INNER JOIN 
    (SELECT 
     States, FIRST_MORTGAGE_PRIMARY_LOAN_TYPE, 
     COUNT(FIRST_MORTGAGE_PRIMARY_LOAN_TYPE) as COUNTS 
    FROM 
     Master_Files 
    GROUP BY 
     States, FIRST_MORTGAGE_PRIMARY_LOAN_TYPE) C ON S.FIRST_MORTGAGE_PRIMARY_LOAN_TYPE = C.FIRST_MORTGAGE_PRIMARY_LOAN_TYPE 
                AND S.States = C.States 

enter image description here

+7

這是一個基本的'group by'。如果您遇到困難,請先嚐試併發布問題。 –

+2

提示:使用計數()和組 –

+0

我已經使用,請參閱上面的圖像,這是我的問題,它的計數,但有多個測試1. –

回答

2

沒有理由在這裏使用子查詢一些練習。這個查詢應該足夠了:

SELECT states, 
     first_mortgage_primary_loan_type, 
     Count(first_mortgage_primary_loan_type) AS COUNTS 
FROM master_files 
GROUP BY states, first_mortgage_primary_loan_type 
+0

它像一個魅力感謝,@ Kashif Qureshi –

0

只給你一個提示::)

SELECT FILECODE, STATES, COUNT(*) AS COUNT 
FROM Table_Name 
GROUP BY FILECODE, STATES 

正如評論所說,這是一個基本的GROUP BY問題。 我勸你做出關於AGGREGATE FUNCTIONSAVGMAXMINCOUNT等)和GROUP BY聲明

+0

嘗試搜索它,但無法看到任何可以使我的輸出,我使用COUNT和GroupBy。 –