SELECT AVG(COALESCE(leave_date, CURRENT_DATE) - hire_date) AS average_tenure_days FROM employees
| 886.2 |
PASS: independent Python reference matched
SELECT department, COUNT(*) AS active_count FROM employees WHERE leave_date IS NULL GROUP BY department
| 人力资源部 | 4 |
| 市场部 | 9 |
| 研发部 | 5 |
| 财务部 | 6 |
| 销售部 | 10 |
PASS: independent Python reference matched
SELECT department FROM employees GROUP BY department ORDER BY AVG(level) DESC LIMIT 1
| 销售部 |
PASS: independent Python reference matched
SELECT department,
COUNT(*) FILTER (WHERE EXTRACT(YEAR FROM hire_date) = EXTRACT(YEAR FROM CURRENT_DATE)) AS this_year_count,
COUNT(*) FILTER (WHERE EXTRACT(YEAR FROM hire_date) = EXTRACT(YEAR FROM CURRENT_DATE) - 1) AS last_year_count
FROM employees
GROUP BY department
HAVING this_year_count > 0 OR last_year_count > 0(no rows)
FAIL: UndefinedColumn: column "this_year_count" does not exist LINE 6: HAVING this_year_count > 0 OR last_year_count > 0 ^
SELECT AVG(s.salary)
FROM employees e
JOIN salaries s ON e.emp_id = s.emp_id
WHERE e.department = '研发部'
AND s.pay_date BETWEEN make_date(EXTRACT(YEAR FROM CURRENT_DATE)::INTEGER - 2, 3, 1)
AND make_date(EXTRACT(YEAR FROM CURRENT_DATE)::INTEGER - 1, 5, 31)| 27695.833333333332 |
PASS: independent Python reference matched
SELECT e.department, AVG(s.salary) AS average_salary
FROM employees e
INNER JOIN salaries s ON e.emp_id = s.emp_id
WHERE e.department IN ('研发部', '销售部')
AND s.pay_date >= date_trunc('year', CURRENT_DATE) - INTERVAL '1 year'
AND s.pay_date < date_trunc('year', CURRENT_DATE)
GROUP BY e.department| 研发部 | 28569.444444444445 |
| 销售部 | 29481.55339805825 |
PASS: independent Python reference matched
SELECT e.level, AVG(s.salary) AS average_salary FROM employees e JOIN salaries s ON e.emp_id = s.emp_id WHERE EXTRACT(YEAR FROM s.pay_date) = EXTRACT(YEAR FROM CURRENT_DATE) GROUP BY e.level
| 3 | 23456.428571428572 |
| 4 | 26248.823529411766 |
| 5 | 34534.75 |
| 6 | 28461.363636363636 |
| 7 | 29935.0 |
| 8 | 32242.69230769231 |
| 9 | 34559.90566037736 |
PASS: independent Python reference matched
WITH latest_salaries AS (
SELECT DISTINCT ON (emp_id) emp_id, salary
FROM salaries
ORDER BY emp_id, pay_date DESC
)
SELECT
CASE
WHEN (CURRENT_DATE - e.hire_date)::INTEGER < 365 THEN '入职一年内'
WHEN (CURRENT_DATE - e.hire_date)::INTEGER BETWEEN 365 AND 729 THEN '一到两年'
WHEN (CURRENT_DATE - e.hire_date)::INTEGER BETWEEN 730 AND 1094 THEN '两到三年'
END AS bucket,
AVG(ls.salary) AS average_latest_salary
FROM employees e
JOIN latest_salaries ls ON e.emp_id = ls.emp_id
WHERE e.leave_date IS NULL
AND (CURRENT_DATE - e.hire_date)::INTEGER <= 1094
GROUP BY bucket| 一到两年 | 27683.125 |
| 两到三年 | 31138.75 |
| 入职一年内 | 24053.75 |
PASS: independent Python reference matched
WITH employee_salary_avg AS (
SELECT
emp_id,
AVG(salary) FILTER (WHERE EXTRACT(YEAR FROM pay_date) = EXTRACT(YEAR FROM CURRENT_DATE) - 1) AS avg_prev_year,
AVG(salary) FILTER (WHERE EXTRACT(YEAR FROM pay_date) = EXTRACT(YEAR FROM CURRENT_DATE)) AS avg_curr_year
FROM salaries
GROUP BY emp_id
HAVING AVG(salary) FILTER (WHERE EXTRACT(YEAR FROM pay_date) = EXTRACT(YEAR FROM CURRENT_DATE) - 1) IS NOT NULL
AND AVG(salary) FILTER (WHERE EXTRACT(YEAR FROM pay_date) = EXTRACT(YEAR FROM CURRENT_DATE)) IS NOT NULL
)
SELECT e.name, (esa.avg_curr_year - esa.avg_prev_year) AS raise_amount
FROM employee_salary_avg esa
JOIN employees e ON esa.emp_id = e.emp_id
ORDER BY raise_amount DESC
LIMIT 10| 韩平 | 12000.0 |
| 韩伟 | 2200.0 |
| 吕芳 | 2155.0 |
| 金丽 | 2110.0 |
| 许华 | 2065.0 |
| 陶松 | 1975.0 |
| 周雪 | 1930.0 |
| 吴敏 | 1885.0 |
| 张霞 | 1840.0 |
| 赵平 | 1795.0 |
PASS: independent Python reference matched
WITH employed_months AS (
SELECT
e.emp_id,
generate_series(
date_trunc('month', e.hire_date),
date_trunc('month', COALESCE(e.leave_date, CURRENT_DATE)),
interval '1 month'
) AS month
FROM employees e
)
SELECT
em.emp_id,
to_char(em.month, 'YYYY-MM') AS month
FROM employed_months em
LEFT JOIN salaries s
ON em.emp_id = s.emp_id
AND em.month = date_trunc('month', s.pay_date)
WHERE s.emp_id IS NULL| 17 | 2026-01 |
PASS: independent Python reference matched