0

前に提起したこの質問に続いてID、クエリに追加したいとします。

SELECT client, ID, job_type, SUM(actual_value_fee) FROM jo2details GROUP BY client, job_type WITH ROLLUP

しかし、MySQL が列を合計しようとするのは望ましくありませんID。これは、「集計可能な」ものではなく、テーブル上のレコードの識別子であるためです。どうすればお願いIDから除外できWITH ROLLUPますか?

4

1 に答える 1

0

1つの方法は、2つのクエリをUNIONすることです。最初のクエリにはIDがあり、2番目のクエリは小計を生成します。あなたの例を使用すると、次のようになります。

SELECT a.id, a.client, a.job_type, sum(a.actual_value_fee)
FROM jo2details a
GROUP BY a.client, a.job_type, a.id

UNION

SELECT NULL, b.client, NULL, sum(b.actual_value_fee)
FROM jo2details b
GROUP BY b.client
WITH ROLLUP

ここから、小計を正しくソートするためにそれをいじくり回す必要があります。

于 2012-10-21T23:45:44.993 に答える