2

私は次のように2つのテーブルを持っています

売上高(表1):

sales_id, userid(buyerid), product id, productname, orderid, status

ユーザー(表2):

userid, username, pass

次に、ショッピングサイトで定期的に購入している上位の顧客を表示する必要があります。

どうすればこれを達成できますか?

私はとして試しました

SELECT A.(*), B.username 
FROM sales A, users B
WHERE A.userid=B.userid AND A.status='delivered' LIMIT 10;

また、最低購入額が10または15を超える場合にのみ、レコードを表示する必要があります。

ここで、同じものをループして、ユーザー名を持つ上位10人の購入者として表示する必要があります。ループする方法も知っておく必要があります。

これについて助けが必要です、ありがとう

4

1 に答える 1

3

両方のテーブルを結合し、それらをそれらでグループ化し、useridレコードの数を数えます。このようなことを試してください、

SELECT  a.userID, a.`username`, COUNT(*) totalCount
FROM    users a
        INNER JOIN sales b
            ON a.userid = b.userid
WHERE   b.`status` = 'delivered'
GROUP BY a.userID
ORDER BY totalCount DESC
LIMIT 10
于 2012-09-20T08:57:02.547 に答える