2012-04-10 42 views

Trả lời

16

Đây thực sự là tổng hợp sơ lược SUM(). Tôi khuyên bạn nên đọc tài liệu hướng dẫn của RDBMS về các hàm tổng hợp và GROUP BY vì điều này là khá cơ bản.

SELECT 
    SUM(Tax) AS sumtax, 
    State 
FROM table 
GROUP BY State 
/* Looks like you want descending order */ 
ORDER BY SUM(Tax) DESC 

Lưu ý rằng một số RDBMS (MySQL, ví dụ) sẽ cho phép bạn sử dụng một bí danh cột trong ORDER BY như trong:

ORDER BY sumtax DESC 

... nơi những người khác (Giống như SQL Server nếu tôi nhớ chính xác) sẽ không và bạn cũng phải sử dụng giá trị tổng hợp ở đó.

Chỉnh sửa:Tôi vừa kiểm tra và thực sự SQL Server dường như cho phép bí danh trong ORDER BY. Khá chắc chắn bạn không thể sử dụng bí danh trong GROUP BY mặc dù ...

+0

làm cách nào tôi có thể nhận được 'ID'? thanks – dadan

+0

@dadan ID không phải là duy nhất cho mỗi tập hợp 'SUM()' vì nhiều giá trị ID trạng thái được thể hiện trong mỗi 'SUM()'. (ví dụ: 'TX' tổng có id 0, 1) Bạn nên đăng câu hỏi thể hiện chính xác những gì bạn cần. –

+0

cảm ơn bạn đã trả lời, tôi đã tìm ra giải pháp cho vấn đề của mình, sử dụng 'over partition by' trên oracle – dadan

Các vấn đề liên quan