anitnilay20 / anitnilay20/beatrix

Implement MySQL aggregation and window functions

Open
#22 0 comments 0 reactions 0 assignees View on GitHub
mysql query-builder
Dominant language
Rust
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Description
Add MySQL aggregation functions and window functions support.

## Requirements
- [ ] Basic aggregations (COUNT, SUM, AVG, MIN, MAX)
- [ ] GROUP BY with ROLLUP, CUBE
- [ ] Window functions (ROW_NUMBER, RANK, DENSE_RANK)
- [ ] MySQL-specific functions (GROUP_CONCAT)
- [ ] JSON aggregation functions
- [ ] Write comprehensive tests

## Acceptance Criteria
- Full aggregation support for MySQL
- Window functions available
- MySQL-specific aggregation functions
- JSON aggregation support

## Files to modify
- `beatrix_core/src/relational/aggregation.rs`
- `beatrix_core/src/relational/functions/mysql.rs`

## Example Usage
```rust
let results = Order::select()
.select_field(group_concat(Order::product_name()).separator(", "))
.select_field(row_number().over().order_by(Order::total().desc()))
.group_by(Order::user_id())
.fetch_all(&db).await?;
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.