0

入札というSQLテーブルがあります

B_id、Uid、Fid、Amount という列があります。

B_id はデフォルトで自動インクリメントされます。Uid = ユーザー ID、Fid = フィールド ID、amount はフィールドに送信された int です。

だから私は次のようなテーブルを持っているかもしれません

1 1 1 1 (最初の 1 = B_id、2 番目の 1 =ユーザー。3 番目 =フィールド、4 番目 = amount )
2 1 2 1 (上記と同じですが、フィールドが異なります
) 3 2 1 1 (最初のフィールドと同じですが、別のユーザー)
4 2 2 2 (上記と同じユーザーであるが、フィールドと金額が異なる)
5 1 1 1 (最初の行と同じ)

わかりましたので、私がやりたいのは、特定のユーザーによるすべての提出物を選択するステートメントをユーザーにすることです。「select * From (bids) where Uid='1'」のようなもの


これは1 1 1 1
2 1 2 1
5 1 1 1を返し
ます (uid 1 が任意のフィールドに金額を入力したすべての行)

しかし、同じフィールドで送信された金額を合計したい (B_id も uid も必要ありません)

したがって、上の表を次のようにする必要があります

1 2 (ユーザーがフィールド 1 に合計 3 つの金額 2 の金額を送信) 2 1 ( およびフィールド 2に1 つの金額)

では、テーブルをどのように持っているかからどのようにしたいのかを取得するためにどのphpを使用できますか?

助けてくれてありがとう

4

1 に答える 1

0

クエリ(PHPではなく私の意見ではそれが属する場所)だけでこれを実行できる場合は、次のようになります。

SELECT 
    Bids.[FID]
    ,SUM(Bids.[Amount]) AS AmountSum
FROM
    Bids
WHERE
    Bids.[UID] = 1
GROUP BY
    Bids.[FID]
于 2012-04-20T19:05:57.683 に答える