Ich habe eine Tabelle mit user_id und purchase_id. Ich möchte die Tabelle filtern, so dass nur Benutzer mit mehr als 2 Käufen (d. H. Es gibt mehr als 2 Zeilen für diesen Benutzer in der Tabelle). Ich habe gezählt und gruppiert, aber es funktioniert nicht so, wie ich es möchte.SQL-Anzahl ohne Gruppe von
create view myview as
select user_Id, purchase_id, count(*) as count from mytable group by user_Id;
select user_id, purchase_id from myview where count >2;
Aber es gibt mir nur Benutzer (nur eine user_id), die mehr als 2 Kauf hat, und es gibt mir nicht alle ihre Einkäufe. Zum Beispiel, wenn die Tabelle sieht wie folgt aus:
user_id purchase_id
1 1212
1 1312
2 1232
1 1321
3 1545
3 4234
Meine Anfrage gibt mir diese:
1 1212
3 1545
Aber ich möchte dies:
1 1212
1 1312
1 1321
3 1545
3 4234
'user_Id, purchase_id, count (*)' wenn Sie 'GROUP BY' verwenden, ist es nicht empfehlenswert, eine andere Spalte als die Spalte, die Sie indexieren und die Funktionen –
ich wirklich tun verstehe nicht, warum Leute meine Fragen ablehnen. Das ist meine Intelligenzstufe. Ich kann nicht schlauer sein als dies, also sind das die Fragen, die ich habe. Entschuldigung, wenn du viel schlauer bist als ich. Wenn es für dich keine hohe Frage ist, ignoriere es einfach, warum machst du es runter ?! – HimanAB
Nein, ich habe es nicht down –