## Контекст (таблицы и пример данных) ### Таблицы - `ab_results(variant, users_cnt, conversions_cnt
SQL Developer
Senior
## Контекст (таблицы и пример данных)
### Таблицы
- `ab_results(variant, users_cnt, conversions_cnt)`
### Пример данных
**ab_results**
| variant | users_cnt | conversions_cnt |
|--------|----------:|----------------:|
| A | 1000 | 120 |
| B | 980 | 140 |
---
## Задача
Посчитать конверсию по вариантам и определить вариант с большей конверсией.
Вернуть: `variant`, `cr` и `winner_flag`.
*(Статистику можно упростить до сравнения CR.)*
Ответы
```sql
WITH cr AS (
SELECT variant,
conversions_cnt::numeric / NULLIF(users_cnt, 0) AS cr
FROM ab_results
), m AS (
SELECT MAX(cr) AS max_cr FROM cr
)
SELECT c.variant, c.cr,
(c.cr = m.max_cr) AS winner_flag
FROM cr c
CROSS JOIN m
ORDER BY c.cr DESC;
```