เทคนิคการ Query ข้อมูลล่าสุดของแต่ละกลุ่ม
SELECT `owner_id`,`id`,`create_date`
FROM `gcms_plus`.`demo` AS Q
WHERE `id` = (
SELECT MAX(`id`)
FROM `gcms_plus`.`demo`
WHERE `owner_id` = Q.`owner_id`
)
ผลลัพท์ที่ได้
หากจะเขียนในรูปแบบ Model ของ Kotchasan จะได้ดังนี้
// sub query
$q1 = $model->db()->createQuery()
// SELECT MAX(id) หรือ MIN(id)
->select(\Kotchasan\Database\Sql::MAX('id'))
// FROM demo
->from('demo')
// WHERE owner_id=Q.owner_id
->where(array('owner_id', 'Q.owner_id'));
// query หลัก
$result = $model->db()->createQuery()
// SELECT owner_id, id, create_date
->select('owner_id', 'id', 'create_date')
// FROM demo AS Q
->from('demo Q')
// WHERE id = (sub query)
->where(array('id', $q1))
// ประมวลผลคำสั่ง SQL
->execute();
// แสดงผลลัพท์
print_r($result);