我正在尝试运行以下查询,但是通过Yii自己的CDbCriteria运行它,以便它可以与使用Yii CDbCriteria功能的其他一些查询一起工作。
我不确定如何使用CDbCriteria执行以下SQL查询,任何人都可以提供帮助吗?
SELECT *
FROM
students t1
WHERE school_id = 1
AND
(
SELECT
sum(points)
FROM
students t2
WHERE
t2.id <= t1.id
) >= 1000
ORDER BY id
LIMIT 1
答案 0 :(得分:1)
如果因其他原因而不强制使用CDbCriteria,
当sql很复杂时,您可以使用findAllBySql(..)
$models=Students::model()->findAllBySql(
"SELECT * FROM students t1
WHERE school_id = 1
AND ( SELECT sum(points)
FROM students t2
WHERE t2.id <= t1.id ) >= 1000
ORDER BY id
LIMIT 1"
);