我有一个类似
的SQL查询SELECT SUM(price) FROM budget GROUP BY {{PLACEHOLDER}}
其中{{PLACEHOLDER}}将在代码中被替换。是否可以用与以下语句相同的输出替换它?
SELECT price FROM budget
答案 0 :(得分:5)
如果您有一个唯一的列,例如自动生成的ID,则可以使用
SELECT SUM(price) FROM budget GROUP BY budget_id
将等于
SELECT price FROM budget
如果每一行都有不同的budget_id (身份,自动增量字段符合条款)
现在,我敦促你重新考虑做这种黑客行为的智慧,为什么不把它放在哪里呢?
答案 1 :(得分:1)
...GROUP BY NEWID()
每行随机,因此永远不会聚合。并分为关键列,架构等
答案 2 :(得分:0)
我的建议是,当且仅当占位符存在时,才将GROUP BY直接包含在占位符中:
if (!empty($placeholder)) {
$placeholder = 'GROUP BY ' . $placeholder;
}
答案 3 :(得分:0)
如果我理解正确,您希望通过有效省略该组。 在这种情况下,请将其设为GROUP BY ROW_ID 这将产生相同的结果