YugabyteDB
Ask AI Ask AI about""
    OR Ask AIAsk AI
    • Star us on Github YugabyteDB Github
    • Join us on Slack YugabyteDB Community Slack
    • Start Now
      • YugabyteDB Aeon
        YugabyteDB AeonTry our fully-managed cloud DBaaS for free.No credit card requiredSign up
      • YugabyteDB
        YugabyteDBTry our open source distributed SQL database on your laptop.Download
    • Products
      • YugabyteDB
        YugabyteDBThe open source distributed SQL database
      • YugabyteDB Anywhere
        YugabyteDB AnywhereSelf-managed cloud DBaaS
      • YugabyteDB Aeon
        YugabyteDB AeonFully-managed cloud DBaaS
      • YugabyteDB Voyager
        YugabyteDB VoyagerDatabase migration service
    • Tutorials
    • Integrations
    • API
      • SQL APIs
      • YSQL
        YSQL
      • YCQL
        YCQL
      • Clients
      • ysqlsh
        ysqlsh
      • ycqlsh
        ycqlsh
      • Management APIs
      • YugabyteDB Anywhere API
        YugabyteDB Anywhere API
      • YugabyteDB Aeon API
        YugabyteDB Aeon API
    • FAQ
    • Releases
      • YugabyteDB
        YugabyteDB
      • YugabyteDB Anywhere
        YugabyteDB Anywhere
      • YugabyteDB Aeon
        YugabyteDB Aeon
      • YugabyteDB Voyager
        YugabyteDB Voyager
      • YugabyteDB Clients
        YugabyteDB Clients
      • Tech Advisories
        Tech Advisories
    Docs Menu
    • API
    • YSQL
      • The SQL language
        • SQL statements
          • ABORT
          • ALTER DATABASE
          • ALTER DEFAULT PRIVILEGES
          • ALTER DOMAIN
          • ALTER FOREIGN DATA WRAPPER
          • ALTER FOREIGN TABLE
          • ALTER FUNCTION
          • ALTER GROUP
          • ALTER INDEX
          • ALTER MATERIALIZED VIEW
          • ALTER POLICY
          • ALTER PROCEDURE
          • ALTER PUBLICATION
          • ALTER ROLE
          • ALTER SCHEMA
          • ALTER SEQUENCE
          • ALTER SERVER
          • ALTER TABLE
          • ALTER USER
          • ANALYZE
          • BEGIN
          • CALL
          • CLOSE
          • COMMENT
          • COMMIT
          • COPY
          • CREATE AGGREGATE
          • CREATE CAST
          • CREATE DATABASE
          • CREATE DOMAIN
          • CREATE EXTENSION
          • CREATE FOREIGN DATA WRAPPER
          • CREATE FOREIGN TABLE
          • CREATE FUNCTION
          • CREATE GROUP
          • CREATE INDEX
          • CREATE MATERIALIZED VIEW
          • CREATE OPERATOR
          • CREATE OPERATOR CLASS
          • CREATE POLICY
          • CREATE PROCEDURE
          • CREATE PUBLICATION
          • CREATE ROLE
          • CREATE RULE
          • CREATE SCHEMA
          • CREATE SEQUENCE
          • CREATE SERVER
          • CREATE TABLE
          • CREATE TABLE AS
          • CREATE TABLESPACE
          • CREATE TRIGGER
          • CREATE TYPE
          • CREATE USER
          • CREATE USER MAPPING
          • CREATE VIEW
          • CREATE_REPLICATION_SLOT
          • DEALLOCATE
          • DECLARE
          • DELETE
          • DO
          • DROP AGGREGATE
          • DROP CAST
          • DROP DATABASE
          • DROP DOMAIN
          • DROP EXTENSION
          • DROP FOREIGN DATA WRAPPER
          • DROP FOREIGN TABLE
          • DROP FUNCTION
          • DROP GROUP
          • DROP INDEX
          • DROP MATERIALIZED VIEW
          • DROP OPERATOR
          • DROP OPERATOR CLASS
          • DROP OWNED
          • DROP POLICY
          • DROP PROCEDURE
          • DROP PUBLICATION
          • DROP ROLE
          • DROP RULE
          • DROP SCHEMA
          • DROP SEQUENCE
          • DROP SERVER
          • DROP TABLE
          • DROP TABLESPACE
          • DROP TRIGGER
          • DROP TYPE
          • DROP USER
          • DROP VIEW
          • DROP_REPLICATION_SLOT
          • END
          • EXECUTE
          • EXPLAIN
          • FETCH
          • GRANT
          • IMPORT FOREIGN SCHEMA
          • INSERT
          • LOCK
          • MOVE
          • PREPARE
          • REASSIGN OWNED
          • REFRESH MATERIALIZED VIEW
          • RELEASE SAVEPOINT
          • RESET
          • REVOKE
          • ROLLBACK
          • ROLLBACK TO SAVEPOINT
          • SAVEPOINT
          • SELECT
          • SET
          • SET CONSTRAINTS
          • SET ROLE
          • SET SESSION AUTHORIZATION
          • SET TRANSACTION
          • SHOW
          • SHOW TRANSACTION
          • START TRANSACTION
          • START_REPLICATION
          • TRUNCATE
          • UPDATE
          • VALUES
        • Temporary schema-objects
          • Temp tables, views, sequences, and indexes
          • Temp schema-objects of all kinds
          • Globality of metadata and privacy of use of temp objects
          • Paradigm for creating temporary objects
        • WITH clause
          • WITH clause—SQL syntax and semantics
          • Recursive CTE
          • Case study: traversing an employee hierarchy
          • Traversing general graphs
            • Graph representation
            • Common code
            • Undirected cyclic graph
            • Directed cyclic graph
            • Directed acyclic graph
            • Rooted tree
            • Unique containing paths
            • Stress testing find_paths()
          • Case study: Bacon Numbers from IMDb
            • Bacon numbers for synthetic data
            • Bacon numbers for IMDb data
      • Transaction model for top-level SQL statements
      • Names and identifiers
      • Name resolution in top-level SQL
      • Supporting language elements
        • Built-in functions and operators
          • yb_index_check()
          • yb_hash_code()
          • gen_random_uuid()
          • Aggregate functions
            • Informal functionality overview
            • Invocation syntax and semantics
            • Grouping sets, rollup, cube
            • Per function signature and purpose
              • avg(), count(), max(), min(), sum()
              • array_agg, jsonb_agg, jsonb_object_agg, string_agg, range_agg
              • bit_and(), bit_or(), bool_and(), bool_or()
              • variance(), var_pop(), var_samp(), stddev(), stddev_pop(), stddev_samp()
              • linear regression
                • covar_pop(), covar_samp(), corr()
                • regr_%()
              • mode(), percentile_disc(), percentile_cont()
              • rank(), dense_rank(), percent_rank(), cume_dist()
            • Case study: percentile_cont() and the "68–95–99.7" rule
            • Case study: linear regression on COVID data
              • Download the COVIDcast data
              • Ingest the COVIDcast data
                • Inspect the COVIDcast data
                • Copy the .csv files to staging tables
                • Check staged data conforms to the rules
                • Join the staged data into a single table
                • SQL scripts
                  • Create cr_staging_tables()
                  • Create cr_copy_from_scripts()
                  • Create assert_assumptions_ok()
                  • Create xform_to_covidcast_fb_survey_results()
                  • ingest-the-data.sql
              • Analyze the COVIDcast data
                • symptoms vs mask-wearing by day
                • Data for scatter-plot for 21-Oct-2020
                • Scatter-plot for 21-Oct-2020
                • SQL scripts
                  • analysis-queries.sql
                  • synthetic-data.sql
          • Geo-partitioning helper functions
            • yb_is_local_table()
            • yb_server_cloud()
            • yb_server_region()
            • yb_server_zone()
          • Sequence functions
            • currval()
            • lastval()
            • nextval()
            • setval()
          • Window functions
            • Informal functionality overview
            • Invocation syntax and semantics
            • Per function signature and purpose
              • row_number(), rank() and dense_rank()
              • percent_rank(), cume_dist() and ntile()
              • first_value(), nth_value(), last_value()
              • lag(), lead()
              • Tables for the code examples
                • table t1
                • table t2
                • table t3
                • table t4
            • Case study: analyzing a normal distribution
              • Bucket allocation scheme
              • do_clean_start.sql
              • cr_show_t4.sql
              • cr_dp_views.sql
              • cr_int_views.sql
              • cr_pr_cd_equality_report.sql
              • cr_bucket_using_width_bucket.sql
              • cr_bucket_dedicated_code.sql
              • do_assert_bucket_ok
              • cr_histogram.sql
              • cr_do_ntile.sql
              • cr_do_percent_rank.sql
              • cr_do_cume_dist.sql
              • do_populate_results.sql
              • do_report_results.sql
              • do_compare_dp_results.sql
              • do_demo.sql
              • Reports
                • Histogram report
                • dp-results
                • compare-dp-results
                • int-results
        • Data types
          • Array
            • array[] constructor
            • Literals
              • Text typecasting and literals
              • Array of primitive values
              • Row
              • Array of rows
            • FOREACH loop (PL/pgSQL)
            • array of DOMAINs
            • Functions and operators
              • ANY and ALL
              • Array comparison
              • Array slice operator
              • Array concatenation
              • Array properties
              • array_agg(), unnest(), generate_subscripts()
              • array_fill()
              • array_position(), array_positions()
              • array_remove()
              • array_replace() / set value
              • array_to_string()
              • string_to_array()
          • Binary
          • Boolean
          • Character
          • Date and time
            • Conceptual background
            • Section contents
            • Timezones and UTC offsets
              • Catalog views
              • Extended_timezone_names
                • Unrestricted full projection
                • Real timezones with DST
                • Real timezones no DST
                • Synthetic timezones no DST
              • Offset/timezone-sensitive operations
                • Timestamptz to/from timestamp conversion
                • Pure 'day' interval arithmetic
              • Four ways to specify offset
                • Name-resolution rules
                  • 1 case-insensitive resolution
                  • 2 ~names.abbrev never searched
                  • 3 'set timezone' string not resolved in ~abbrevs.abbrev
                  • 4 ~abbrevs.abbrev before ~names.name
                  • Helper functions
              • Syntax contexts for offset
              • Recommended practice
            • Typecasting between date-time and text-values
            • Semantics of the date-time data types
              • Date data type
              • Time data type
              • Plain timestamp and timestamptz
              • Interval data type
                • Interval representation
                  • Ad hoc examples
                  • Representation model
                • Interval value limits
                • Declaring intervals
                • Justify() and extract(epoch...)
                • Interval arithmetic
                  • Interval-interval comparison
                  • Interval-interval addition and subtraction
                  • Interval-number multiplication
                  • Moment-moment overloads of "-"
                  • Moment-interval overloads of "+" and "-"
                • Custom interval domains
                • Interval utility functions
            • Typecasting between date-time data types
            • Operators
              • Test comparison overloads
              • Test addition overloads
              • Test subtraction overloads
              • Test multiplication overloads
              • Test division overloads
            • General-purpose functions
              • Creating date-time values
              • Manipulating date-time values
              • Current date-time moment
              • Delaying execution
              • Miscellaneous
                • Function age()
                • Function extract() | date_part()
                • Implementations that model the overlaps operator
            • Formatting functions
            • Case study: SQL stopwatch
            • Download & install the date-time utilities
          • JSON
            • JSON literals
            • Primitive and compound data types
            • Code example conventions
            • Indexes and check constraints
            • Functions & operators
              • ::jsonb, ::json, ::text (typecast)
              • ->, ->>, #>, #>> (JSON subvalues)
              • - and #- (remove)
              • || (concatenation)
              • = (equality)
              • @> and <@ (containment)
              • ? and ?| and ?& (key or value existence)
              • array_to_json()
              • jsonb_agg()
              • jsonb_array_elements()
              • jsonb_array_elements_text()
              • jsonb_array_length()
              • jsonb_build_object()
              • jsonb_build_array()
              • jsonb_each()
              • jsonb_each_text()
              • jsonb_extract_path()
              • jsonb_extract_path_text() and json_extract_path_text()
              • jsonb_object()
              • jsonb_object_agg()
              • jsonb_object_keys()
              • jsonb_populate_record()
              • jsonb_populate_recordset()
              • jsonb_pretty()
              • jsonb_set() and jsonb_insert()
              • jsonb_strip_nulls()
              • jsonb_to_record()
              • jsonb_to_recordset()
              • jsonb_typeof()
              • row_to_json()
              • to_jsonb()
          • Money
          • Numeric
          • Range
          • Serial
          • UUID
        • Keywords
        • Reserved names
      • Cursors
      • User-defined subprograms and anonymous blocks
        • «Commit» in user-defined subprograms
        • Subprogram attributes
          • "Depends on extension" semantics
          • Alterable subprogram attributes
          • Alterable function-only attributes
            • Immutable function examples
        • "language sql" subprograms
        • "language plpgsql" subprograms
          • Create-time and execution model
          • "language plpgsql" syntax and semantics
            • Declaration section
            • Executable section
              • Basic statements
                • "assert" statement
                • "get diagnostics" statement
                • "raise" statement
                • "return" statement
                • Cursor manipulation
                • Doing SQL from PL/pgSQL
              • Compound statements
                • The "if" statement
                • The "case" statement
                • The "loop", "exit", and "continue" statements
                  • Infinite and while loops
                  • Integer for loop
                  • Array foreach loop
                  • Query for loop
                  • Jumping out of a block statement with "exit"
                  • Two case studies
            • Exception section
          • Case study: PL/pgSQL procedures-for role provisioning
        • Subprogram overloading
        • Variadic and polymorphic subprograms
        • Name resolution in subprograms
        • The "pg_proc" catalog table
      • SQL compatibility
      • PG15 features
    • YCQL
      • ALTER KEYSPACE
      • ALTER ROLE
      • ALTER TABLE
      • CREATE INDEX
      • CREATE KEYSPACE
      • CREATE ROLE
      • CREATE TABLE
      • CREATE TYPE
      • DROP INDEX
      • DROP KEYSPACE
      • DROP ROLE
      • DROP TABLE
      • DROP TYPE
      • GRANT PERMISSION
      • GRANT ROLE
      • REVOKE PERMISSION
      • REVOKE ROLE
      • USE
      • INSERT
      • SELECT
      • EXPLAIN
      • UPDATE
      • DELETE
      • TRANSACTION
      • TRUNCATE
      • Simple expressions
      • Subscripted expressions
      • Function call
      • Operators
      • BLOB
      • BOOLEAN
      • Collection
      • FROZEN
      • INET
      • Integer and counter
      • Non-integer
      • TEXT
      • DATE, TIME, and TIMESTAMP
      • UUID and TIMEUUID
      • JSONB
      • Date and time
      • BATCH
    • ysqlsh
      • Meta-commands
        • pset options
        • Examples
    • ycqlsh
    • YugabyteDB Anywhere API
    • YugabyteDB Aeon API
    • Download
    • Join our community
      • Slack
      • Yugabyte University
      • GitHub
      • Yugabyte Friday Tech Talks
      • Forum
    • Contact Support
    1. YugabyteDB
    2. API
    3. YSQL
    4. Built-in functions and operators
    5. Window functions
    6. Case study: analyzing a normal distribution
    7. Reports
    v2.25 Preview Preview release - not for production
    v2025.1 STS Stable release with standard-term support v2.25 Preview Preview release - not for production v2024.2 LTS Stable release with long-term support v2024.1 STS Stable release with standard-term support v2.20 LTS Stable release with long-term support Unsupported versions
    Reports

    Reports

    • Contribute List Contribute
      Report a doc issue Suggest new content Edit this page Contributor guide

    This page links to the following reports
           
           Output from running histogram() on "t4.dp_score"
           Output from running do_ntile(), do_percent_rank(), and do_cume_dist() on "t4.dp_score"
           Output from running do_compare_dp_results.sql on "dp_results"
           Output from running do_ntile(), do_percent_rank(), and do_cume_dist() on "t4.int_score"

    YugabyteDB
    © 2025 Yugabyte, Inc. All Rights ReservedPrivacy Policy | Terms of Service