Group lãi suất (Rate) theo số tiền huy động trong SQL
Kính gửi anh chi và các Bạn,
Em chạy code sau để lấy lãi suất – Rate và số tiền huy động.declare @Stage SMALLINT
set @Stage = 3SELECT Rate,format(sum(Sodu_amt),'#,#') as DN
FROM Bang1
where MaCN in ('HQ0310') and BUSINESS_DATE = '20200430'
Group by RateĐược kết quả kiểu như sau:
2618
Giờ em muốn Group số liệu này theo kiểu sau
2617
Nếu làm cái này trên Excel thì đơn giản (Pivot rồi Group với By = 3 chẳng hạn). Nhưng nếu chạy trên SQL em chưa nghĩ ra cách làm.
Nếu em tạo một cột phụ trên SQL thì sẽ làm được nhưng cảm giác nó khá thủ công và chưa khoa học lắm. Có cách code gì SQL làm được kiểu này không ạ.
Em đang hình dung em sẽ khai báo một Biến như em đã làm trên là @Stage = 3 tức là bước nhảy để Group. Thì code sao để nó làm được như kết quả ạ.
Toi đoán là kjhi nói SQL là bạn muốn nói T_SQL. Chứ mỗi phiên bản có cách sử lý khác.
T-SQL: Cách dễ nhất là làm một bảng tạm rồi join vào bảng đó. Tìm hiểu về With Common_Table_Expression
Cách thứ hai là làm một con toán để group by
Group by Floor((Rate-6.9)/@Stage)/3)
SQL Server anh ạ. Cái ;With Tên As (statement) thì em biết ạ. Tại em không muốn dùng bảng tạm mà có thể tính toán được không ạ.
Kiểu gì cũng phải nhập các cái 6.9, 9.9 vào đâu đó
Nên phải nghĩ đễn phương án Select của Select kết hợp với CASE để phân nhóm
là có thể
Dạ, em cũng nghĩ phương án này rồi ạ. Tại em muốn hỏi anh chị nào dùng nhiều có biết kiểu gì mới không ạ. Cảm ơn anh ạ.
Thì dùng cách thứ 2, truy vấn phụ:
Set @RateStart = 6.9
Select ConCat('From ', (@RateStart + aa.), 'To <', (@RateStart + aa. + 1)), aa.
From
( Seclect Floor((Rate-@RateStart)/@Stage) , Sodu_amt
From Bang1
where MaCN in ('HQ0310') and BUSINESS_DATE = '20200430' and Rate >= @RateStart) aa
Group By aa.
Dạ vâng ạ. Để em thử xem sao ạ. Cảm ơn anh ạ.
Tôi gõ nhanh quá ở bài #6 nên quên mất. Chỗ aa. phải là SUM(aa.)
Em xem code của anh mà em chưa hiểu lắm ạ. A giải thích giúp em được không ạ. Table của em chỉ bao gồm trường Rate, Sodu_amt. Nhưng code của anh em thấy có nhiều trường mới nên em chưa hiểu lắm ạ.
+ aa.
+ aa.
+ Cấu trúc From …..To với em cũng lạ.
Nó là tên tôi đặt thôi. Bạn dùng [nợ dư] tôi dịch ra là Debit.
Bạn dùng , tôi sửa thành vì tôi cho nó là một khoảng
Không có cấu trúc 'From' hay 'To' . Chỉ là những chuỗi tôi đặt vào hàm Concat để nó nói chuỗi thành:
From 6.9 To < 9.9
…
Hàm Concat có khả năng ép số thành chuỗi (6.9 -> '6.9'). Thay vì nếu dùng phép cộng chuỗi thì phải tự ép kiểu Convert(…)
www.giaiphapexcel.com/diendan/threads/group-l%C3%A3i-su%E1%BA%A5t-rate-theo-s%E1%BB%91-ti%E1%BB%81n-huy-%C4%91%E1%BB%99ng-trong-sql.151907/
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học