2016-03-31 21 views
1

バスケット/カートテーブルに商品を追加するデータベースを作成しました。最後に入力した行と同じ値を持つmysql select行

私がしたいのは、最後に追加されたアイテムが何であるかをチェックし、アイテムが同じテーブルに何回存在するかを数えることです。

表が「バスケット」と呼ばれ、列が製品であるとします。

例えば:
cartid、製品、ユーザ、日付
1、50、ボブ、2016年2月20日0時48分21秒
2、40、ボブ、2016年2月20日0時48: 23
ボブ、2016-2-20 00:48:24
4,30ボブ、2016-2-20 00:48:25
5,40ボブ、2016-2-20 0時48分27秒

ので、上記の例では、最終生成物は40であり、そしてそれが2回発生...

私は、同じテーブルへの内部結合が許されているかどうか疑問に思っていました。

+0

何あなたの期待出力? – Sadikhasan

+0

予想される出力は40です。 2(製品とカウント)、これを複雑にする:私はユーザーにそれを絞り込むためにどこのコメントを使用したい(しかし、私はそのビットを扱うことができると思う) – Riyaz

+0

あなたはあなたが望むデモで私の答えをチェックすることができます – Sadikhasan

答えて

0
SELECT product, 
     count(product) AS total 
FROM basket 
WHERE `user` like 'bob' AND product = 
    (SELECT product 
    FROM basket b 
    ORDER BY cartid DESC LIMIT 1) 
GROUP BY product 

DEMO

+1

ありがとう。私はどこのユーザー= "ボブ"ビットを追加することができないように見える...(PHPのサーバー変数に対してチェック...私はそれをチェックして、最後の製品はこれまでにdbに追加され、何回発生しましたか。 – Riyaz

関連する問題