我有以下查询。GROUP BY优先于MySQL
$query_assignments = "SELECT * FROM tb_scheduler_assignments
WHERE company_id = '".$company_id."' OR
dept_id = '".$dept_id."' OR
user_id = '".$user_id."' ORDER BY
due_date GROUP BY purchase_id";
我想什么是一个单一的查询解决方案,将保持对user_id
结果超过dept_id
和dept_id
超过company_id
。
例如:
- 如果发生相同
purchase_id
用于经由dept_id
和user_id
共获得该 行,那么我只要用于user_id
结果 ; - 如果出现了通过
company_id
和user_id
得到了该 行相同purchase_id
,然后我只希望 结果为user_id
'SELECT * ... by'将在MySQL工作组。未分组行的返回行是未定义的,但通常是第一个找到的 – knittl 2011-05-25 12:22:19
@knittl - 您说得对,这将在MySQL中“工作”。它甚至会允许你通过指定一个不相关的'ORDER BY'来强制min或者max的值出现在其中一个colums中。整洁的黑客确实。 : -/ – Lumi 2011-05-25 13:49:34
感谢您的回复,并对我的回复延迟表示歉意。你的观点正确。我会发布我最终做的事情。谢谢。 – Kevin 2011-06-03 01:58:39