0

私は次のようなSQLクエリを持っています

SELECT SUM(price) FROM budget GROUP BY {{PLACEHOLDER}}

ここで、{{PLACEHOLDER}}はコード内で置き換えられます。次のステートメントと同じ出力になるものに置き換えることは可能ですか?

SELECT price FROM budget
4

4 に答える 4

5

自動生成されたIDのように一意の列がある場合は、それを使用できます

SELECT SUM(price) FROM budget GROUP BY budget_id

に等しくなります

SELECT price FROM budget

すべての行に異なるbudget_idがある場合(ID、自動インクリメントフィールドは請求書に適合します)

さて、そのようなハックをすることの知恵を再考することをあなたに強く勧めます、それが重要であるならば、なぜあなたはifを入れませんか?

于 2009-10-21T10:34:07.707 に答える
1
...GROUP BY NEWID()

行ごとにランダムなので、集計しないでください。そして、キー列、スキーマなどに分けます

于 2009-10-21T10:44:26.377 に答える
0

プレースホルダーが存在する場合にのみ、プレースホルダーにGROUPBYを直接含めることをお勧めします。

if (!empty($placeholder)) {
    $placeholder = 'GROUP BY ' . $placeholder;
}
于 2009-10-21T10:35:32.200 に答える
0

私があなたを正しく理解していれば、あなたは効果的にグループを省略したいと思います。その場合は、GROUPBYROW_IDにします。これにより同じ結果が得られます。

于 2009-10-21T10:36:20.747 に答える