Tidb: Call For Participation: finish the unsupported aggregate functions

Created on 5 Sep 2018  路  14Comments  路  Source: pingcap/tidb

All issues are open and welcomed to contributors. You can join #sig-exec on tidb community slack to discuss and get help from someone.

Description

At present, the aggregate functions that TiDB supports are:

  • AVG()
  • BIT_AND()
  • BIT_OR()
  • BIT_XOR()
  • COUNT()
  • COUNT(DISTINCT)
  • GROUP_CONCAT()
  • MAX()
  • MIN()
  • SUM()

In order to be compatible with MySQL and Improve the usability of TiDB, the following functions should also be supported in TiDB:

| Name | Description |
|--------------------|-------------------------------------------|
| STD() | Alias for STDDEV_POP function |
| STDDEV() | Alias for STDDEV_POP function |
| STDDEV_POP() | Return the population standard deviation |
| STDDEV_SAMP() | Return the sample standard deviation |
| VARIANCE() | Return the population standard variance |
| VAR_POP() | Return the population standard variance |
| VAR_SAMP() | Return the sample variance |
| JSON_ARRAYAGG() | Return result set as a single JSON array |
| JSON_OBJECTAGG() | Return result set as a single JSON object |

An implementation checklist:

  • [x] STD()/STDDEV()/STDDEV_POP() @Win-Man #19195
  • [x] STDDEV_SAMP() @Win-Man #19810
  • [x] VARIANCE()/VAR_POP() @githubFZX #14101
  • [x] VAR_SAMP() @Win-Man #19810
  • [ ] JSON_ARRAYAGG() https://github.com/pingcap/tidb/pull/19957
  • [x] JSON_OBJECTAGG() @hg2990656 #11154

Difficulty

  • Medium

Score

  • 3000

Mentor(s)

  • @qw4990

Recommended Skills

  • SQL Optimization
  • Golang Profiling
  • Code Refactoring
PrioritP3 challenge-program featuraccepted high-performance siexecution statuhelp-wanted typcompatibility typfeature-request

Most helpful comment

Pick up

All 14 comments

Pick up

Pick up success.

This issue already picked by Blue-Sail.

This issue already picked by Blue-Sail.

Give up success.

/pick-up JSON_ARRAYAGG

Pick up success.

@arthuryangcs You did not submit PR within 7 days, so give up automatically.

/pick-up JSON_ARRAYAGG

Pick up success.

@arthuryangcs You did not submit PR within 7 days, so give up automatically.

/pick-up JSON_ARRAYAGG

Pick up success.

@arthuryangcs You did not submit PR within 7 days, so give up automatically.

Was this page helpful?
0 / 5 - 0 ratings