私は次のようなSQLクエリを持っています
SELECT SUM(price) FROM budget GROUP BY {{PLACEHOLDER}}
ここで、{{PLACEHOLDER}}はコード内で置き換えられます。次のステートメントと同じ出力になるものに置き換えることは可能ですか?
SELECT price FROM budget
自動生成されたIDのように一意の列がある場合は、それを使用できます
SELECT SUM(price) FROM budget GROUP BY budget_id
に等しくなります
SELECT price FROM budget
すべての行に異なるbudget_idがある場合(ID、自動インクリメントフィールドは請求書に適合します)
さて、そのようなハックをすることの知恵を再考することをあなたに強く勧めます、それが重要であるならば、なぜあなたはifを入れませんか?
...GROUP BY NEWID()
行ごとにランダムなので、集計しないでください。そして、キー列、スキーマなどに分けます
プレースホルダーが存在する場合にのみ、プレースホルダーにGROUPBYを直接含めることをお勧めします。
if (!empty($placeholder)) {
$placeholder = 'GROUP BY ' . $placeholder;
}
私があなたを正しく理解していれば、あなたは効果的にグループを省略したいと思います。その場合は、GROUPBYROW_IDにします。これにより同じ結果が得られます。