我有以下查詢。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