2014-09-29 35 views
0

在這裏,在另一列中的特定值的列值的總和數據細節如何獲得基於其中存在不同的行

ID NAME STRVALUE INTVALUE 
1  d_n  d1   (null) 
2  d_n  d1   (null) 
3  d_n  d1   (null) 
3  u_n  u1   (null) 
3  s_l  4   4 
3  p_n  A   (null) 
4  d_n  d2   (null) 
5  d_n  d2   (null) 
6  d_n  d2   (null) 
6  u_n  u2   (null) 
6  s_l  5   5 
6  p_n  A   (null) 
7  d_n  d1   (null) 
8  d_n  d1   (null) 
9  d_n  d1   (null) 
9  u_n  u1   (null) 
9  s_l  5   5 
9  p_n  A   (null) 
10 d_n  d1   (null) 

在我的數據,每個ID我有多行。每行都有名稱,strvalue和intvalue。

有人可以幫助我獲得以下格式的輸出嗎?

STRVALUE INTVALUE_SUM 
d1   9 
d2   5 

查詢

SELECT 
    strvalue, 
    SUM(intvalue) AS `Sum` 
FROM 
    d 
WHERE id IN 
    (SELECT 
    id 
    FROM 
    e 
    WHERE TYPE = 'a_e' 
    AND USER = 1) 
GROUP BY id 
+1

到目前爲止,你有什麼嘗試? – Nikola 2014-09-29 10:34:33

+0

我試圖獲得價值,但我無法概括起來 這是我試過, '選擇strValue中,總和爲總 從d (的intValue),其中身份證件(給E 其中類型選擇ID = 'a_e' 和用戶= 1) 組由id' 輸出我得到是這樣的, 'strValue中\t SUM D1 D2 D1 \t 5' – abdulH 2014-09-29 10:37:04

+0

@Aaha MySQL或SQL服務器? – 2014-09-29 10:40:58

回答

0

創建測試數據:

DECLARE @Test TABLE 
(
    ID INT, 
    NAME VARCHAR(10), 
    STRVALUE VARCHAR(10), 
    INTVALUE INT NULL 
) 

INSERT INTO @Test 
(ID, NAME, STRVALUE, INTVALUE) 
VALUES 
(1,  'd_n',  'd1',   NULL), 
(2,  'd_n',  'd1',   null), 
(3,  'd_n',  'd1',   null), 
(3,  'u_n',  'u1',   null), 
(3,  's_l',  '4',   4), 
(3,  'p_n',  'A',   null), 
(4,  'd_n',  'd2',   null), 
(5,  'd_n',  'd2',   null), 
(6,  'd_n',  'd2',   null), 
(6,  'u_n',  'u2',   null), 
(6,  's_l',  '5',   5), 
(6,  'p_n',  'A',   null), 
(7,  'd_n',  'd1',   null), 
(8,  'd_n',  'd1',   null), 
(9,  'd_n',  'd1',   null), 
(9,  'u_n',  'u1',   null), 
(9,  's_l',  '5',   5), 
(9,  'p_n',  'A',   null), 
(10, 'd_n',  'd1',   null); 

從你期望的答案,我想,你正在尋找的S_L行匹配D_N者,並試圖要獲得這些值,這裏是查詢。

SELECT d1.STRVALUE, SUM(d2.INTVALUE) AS INTVALUE_SUM FROM @Test d1 
INNER JOIN @Test d2 
    ON d1.ID = d2.ID 
    AND d1.NAME = 'd_n' 
    AND d2.NAME = 's_l' 
GROUP BY D1.STRVALUE 

這裏是輸出:

STRVALUE INTVALUE_SUM 
d1 9 
d2 5 

現在只是解決了查詢拉基於您發佈的其他子查詢正確的ID,你應該把你的計數。

+0

非常感謝,非常感謝:) – abdulH 2014-10-01 07:43:53

相關問題