Kiểu dữ liệu tỷ lệ phần trăm trong MySQL
Câu hỏi này xuất hiện thường xuyên khi bạn muốn đóng góp tương đối của một hàng trong bối cảnh tổng của tất cả các hàng. Ví dụ Show
Xem xét một bảng với số lượt xem trang (tính bằng tỷ) với mỗi trình duyệt Trình duyệtLượt xem trangChrome7. 1685Safari1. 935Firefox1. Trình duyệt 3455UC1. 0965IE1. 341Opera0. 816Android0. 7245Phần còn lại1. 2Điều chúng tôi thực sự muốn thấy là thị phần trình duyệt. Chúng tôi có thể sử dụng Biểu thức bảng chung (CTE) để tính tổng số lần xem trang mà sau đó chúng tôi sử dụng để tính tỷ lệ
Cung cấp tỷ lệ của từng trình duyệt trên tổng số Trình duyệtChia sẻChrome0. 895Safari0. 241875Firefox0. 1681875UC Trình duyệt0. 1370625IE0. 167625Opera0. 102Android0. 0905625Nghỉ0. 15Và hình dung Tỷ lệ phần trăm trên tổng số mỗi nhómCâu hỏi tiếp theo là làm thế nào điều này đang thay đổi theo thời gian? Những gì chúng tôi đang cố gắng làm ở đây là nhóm dữ liệu của chúng tôi thành các tháng, tính tổng cho nhóm đó và cho mỗi hàng trong nhóm đó tính tỷ lệ. Một tổng số tổng thể sẽ không có ý nghĩa. Xem xét bảng số lần truy cập trang như trước, nhưng có thêm trường ngày Một lần nữa, chúng tôi sử dụng các chức năng cửa sổ với một phân vùng trên phần tháng của ngày giờ
Hãy giải nén truy vấn một chút. Chức năng cửa sổ của chúng tôi tạo các phân vùng (nhóm) cho mỗi tháng và đối với mỗi phân vùng, chúng tôi tổng hợp các lần xem trang. Tỷ lệ giữa số lần xem trang của hàng hiện tại và tổng số cho nhóm đó chính xác là những gì chúng tôi muốn Dịch chuyển đỏ có ratio_to_reportMay mắn thay trên Redshift, nó hỗ trợ một hàm cửa sổ có tên là Các kiểu dữ liệu SQL là gì, tại sao chúng ta cần chúng và cách sử dụng chúng? Ngươi mâuTrước khi làm bất cứ điều gì khác, chúng ta sẽ xem nhanh mô hình mà chúng ta đang sử dụng trong loạt bài này Bạn có thể nhận thấy rằng mỗi bảng có các cột được xác định theo tên của chúng, nhưng cũng có loại của chúng. Mặc dù cái tên khá rõ ràng và chúng tôi là người định nghĩa nó, nhưng có một chút khác biệt khi nói đến các loại. Chúng tôi có thể chọn loại cột từ danh sách các loại được xác định trước hoặc loại tùy chỉnh của chúng tôi (xây dựng lại từ các loại được xác định trước) Các kiểu dữ liệu SQL – Giới thiệu nhanhNói về kiểu dữ liệu không phải là điều hot nhất trong lập trình. Chúng chỉ là một trong những thứ có ở đây và chúng tôi hy vọng nó sẽ hoạt động. Tuy nhiên, cần phải hiểu những gì chúng ta có sẵn Khi chúng tôi đang lưu trữ dữ liệu, chúng tôi cần mô phỏng “số đo & định dạng” được sử dụng trong thế giới thực. e. g. chúng tôi muốn lưu trữ chiều cao dưới dạng số thập phân, ngày sinh dưới dạng ngày, 'câu này' dưới dạng văn bản, v.v. Bạn luôn có thể chọn cách cực đoan và lưu trữ mọi thứ dưới dạng văn bản hoặc ảnh Vì cơ sở dữ liệu dùng để lưu trữ dữ liệu và làm việc với chúng một cách hiệu quả nên chúng tôi sẽ không làm điều đó. Chúng tôi sẽ có một số loại dữ liệu SQL khác nhau theo ý của chúng tôi. Chúng tôi sẽ không chỉ có các loại để lưu trữ văn bản hoặc số, mà chúng tôi còn đi sâu hơn, với các loại mô tả chặt chẽ bản chất của văn bản đó (độ dài của nó) hoặc số (là số nguyên hay số thập phân) Ý tưởng chính đằng sau các kiểu dữ liệu là mô phỏng các kiểu phổ biến nhất từ thế giới thực. Bằng cách đó, DBMS (hệ thống quản lý cơ sở dữ liệu), sẽ có thể lưu trữ chúng một cách hiệu quả (sử dụng ít không gian hơn, tổ chức tốt hơn) và điều đó cũng sẽ dẫn đến hiệu suất được cải thiện Các loại này khác nhau giữa các DBMS khác nhau (SQL Server, MySQL, Oracle), nhưng hầu hết chúng đều rất giống nhau. Chúng tôi sẽ tập trung vào các loại dữ liệu SQL Server/Transact-SQL quan trọng nhất Kiểu dữ liệu văn bảnNhư bạn có thể thấy trong mô hình của chúng tôi, có 3 loại dữ liệu trong thế giới thực phổ biến nhất mà chúng tôi cần lưu trữ. văn bản, số và ngày tháng. Do đó, hầu hết DBMS (và các ngôn ngữ lập trình) sẽ hỗ trợ 3 nhóm chính này. Trong mỗi nhóm này, bạn sẽ tìm thấy các kiểu dữ liệu SQL ít nhiều được tiêu chuẩn hóa Vì vậy, trước tiên hãy xem nhanh các kiểu dữ liệu văn bản. Trong bảng bên dưới, bạn sẽ tìm thấy các kiểu dữ liệu văn bản/chuỗi Transact-SQL với các mô tả ngắn quan trọng nhất là
Kiểu dữ liệu sốNhóm lớn tiếp theo của các kiểu dữ liệu SQL chắc chắn là nhóm chứa các kiểu dữ liệu số. Một lần nữa, chúng tôi có tổng quan được đưa ra trong bảng dưới đây Tuy nhiên, tôi muốn chỉ ra một số loại quan trọng nhất từ nhóm này
Ngày giờNhóm kiểu dữ liệu SQL cuối cùng mà chúng ta sẽ phân tích là kiểu ngày và giờ. Tổng quan được đưa ra trong bảng dưới đây Tôi muốn nhấn mạnh những điều sau đây
Danh sách các kiểu dữ liệu MS SQL thú vị còn lại được đưa ra trong bảng bên dưới Vì vậy, bạn cần sử dụng kiểu dữ liệu SQL nào?Câu trả lời cho câu hỏi này vừa đơn giản vừa phức tạp. Trong hầu hết các trường hợp, bạn sẽ biết chính xác mình cần gì – số nguyên là số nguyên. Tuy nhiên, có rất nhiều thứ để chơi – kết hợp char và varchar, tránh sử dụng văn bản bất cứ khi nào có thể. Đây là một trò chơi mà bạn phải đoán bất cứ điều gì người dùng cuối muốn chèn và hỗ trợ điều này. Tất nhiên, với hiệu suất tốt nhất có thể và dung lượng ổ đĩa tối thiểu được phân bổ Kiểu dữ liệu của tỷ lệ phần trăm là gì?Không giống như số nguyên, số thập phân cố định và số thập phân, loại này không có loại tương ứng trong mô hình dữ liệu. Khi được tải vào mô hình dữ liệu, loại dữ liệu tỷ lệ phần trăm được biểu thị dưới dạng loại số thập phân .
Có kiểu dữ liệu phần trăm trong SQL không?Không có toán tử tích hợp nào tính toán tỷ lệ phần trăm trong SQL Server . Bạn phải dựa vào các phép toán số học cơ bản. e. (number1/number2 x 100) để tìm tỷ lệ phần trăm trong SQL Server.
3 loại kiểu dữ liệu MySQL là gì?Trong MySQL có 3 kiểu dữ liệu chính. chuỗi, số, ngày giờ . |