0

請求書のデータを保存するテーブルがあります。支払わis_paidれると、1 としてマークされます

したがって、私がしようとしているのは(where is_paid =0)、特定の日付の各ユーザーのすべての未払いの請求書を、各従業員の保留中の合計金額とその期間の保留中の請求書の数とともに取得することです

SELECT
              receivable.amount,
              receivable.admission,
receivable.grouped,
              receivable.month,
              emp.name
            FROM
              receivable JOIN students ON receivable.emp_id = emp.id
where receivable.is_paid='0' 
group by receivable.emp_id
ORDER BY CAST(receivable.grouped AS UNSIGNED ) , receivable.grouped

上記のコードを変更して、特定の期間の保留中の請求書の数、各ユーザーの保留中の金額の合計、およびその期間のグループ化された合計を計算するにはどうすればよいですか (ユーザーは日付を入力するため、その前にすべてを表示する必要があります。その日)

以下はレポートの構造です

ここに画像の説明を入力

どんな助けでも大歓迎です

4

1 に答える 1

0

月の初日を指していると推測しmonthます - この点を明確にしていただければ、より正確なものを書くことができます. 基本的に、SUM および COUNT 集計関数を使用し、1 つおきの列が GROUP BY 句の一部として返されるように宣言する必要があります。

SELECT
  receivable.emp_id,
  emp.name,
  receivable.grouped,
  receivable.month,
  SUM(receivable.amount) as totalAmount
  COUNT(*) as totalCount
FROM receivable 
JOIN emp ON receivable.emp_id = emp.id
WHERE receivable.is_paid='0'
  AND receivable.month = '2013-01-01'
GROUP BY receivable.emp_id, emp.name, receivable.grouped, receivable.month
ORDER BY CAST(receivable.grouped AS UNSIGNED ), receivable.grouped
于 2013-01-16T17:05:52.750 に答える