Ist so etwas möglich:
SELECT DISTINCT COUNT(productId) WHERE keyword='$keyword'
Ich möchte die Anzahl der eindeutigen Produkt-IDs ermitteln, die einem Schlüsselwort zugeordnet sind. Das gleiche Produkt kann zweimal mit einem Schlüsselwort oder mehr verknüpft sein, aber ich möchte, dass nur 1 Mal pro Produkt-ID gezählt wird
SELECT COUNT(DISTINCT(productId)) from table_name WHERE keyword='$keyword'
. Ich mag deine Version besser, wenn du zwei Parameter weitergibstCOUNT( )
.Ich würde so etwas machen:
das gibt Ihnen eine Liste wie
Auf diese Weise können Sie sehen, wie viele der einzelnen Produkt-IDs dem Schlüsselwort zugeordnet sind.
quelle
Du warst nah :-)
quelle
Zu Ihrer Information, das ist wahrscheinlich schneller,
als das,
quelle
SELECT count(*) FROM (SELECT distinct productId WHERE keyword = '$keyword') temp
Was zum Teufel von all dieser Arbeit Staubbeutel
es ist zu einfach
Wenn Sie eine Liste mit der Produkt-ID in jedem Schlüsselwort wünschen, ist dies der Code
quelle
AUSWAHL DES UNTERSCHIEDLICHEN PRODUKTS UND ANZEIGEZAHL PRO PRODUKT
Für eine andere Antwort zu dieser Art von Frage ist dies meine andere Antwort, um die Anzahl der Produkte anhand des Produktnamens zu ermitteln, der sich wie in diesem Beispiel unten unterscheidet:
Tabellenwert
Produktname gezählt
quelle
Ist es nicht besser mit einer Gruppe von? Etwas wie:
quelle