2017-03-16 1 views
-3

Ich schreibe ein Programm, das die Anzahl der täglichen Bestellungen zählt. meine Tabellenname ist order_listWie man den gleichen Wert wie eine mysql zählt?

+---------------+----------+ 
| order_list_id | order_id | 
+==========================+ 
| 1    | 1  | 
+---------------+----------+ 
| 2    | 1  | 
+---------------+----------+ 
| 3    | 2  | 
+---------------+----------+ 
| 4    | 2  | 
+---------------+----------+ 
| 5    | 2  | 
+---------------+----------+ 
| 6    | 3  | 
+---------------+----------+ 

Wie kann ich einen Ausgang 3 haben?

+2

Warum 3? Was ist die Logik dahinter? – Jens

+0

was ist dein Wunschergebnis? –

+0

in order_id gibt es eine zwei order_id 1 Wie kann ich es als eins zählen –

Antwort

2

Wenn ich Ihre Anforderungen richtig zu verstehen, können Sie die distinct Schlüsselwort verwenden müssen, die Duplikate nur einmal zählen.

select count(distinct order_id) 
from yourTable 

Weitere Dokumentation zu dieser Funktionalität ist here

+0

davon wird gerade gesprochen. :) Prost –

0

Sie denken, dass Sie nach max() Zählergebnis suchen. So etwas wie

select order_count from (
select order_id , count(*) as order_count 
from order_list 
group by order_id) xxx 
order by order_count desc 
limit 1; 
0

Anscheinend möchten Sie die verschiedenen Werte im order_id Feld zählen. Sie können diese count(distinct ...) mit erreichen:

select count(distinct order_id) as no_of_orders from order_list 
0

verfügbar es Ihnen eine Gesamtzahl Sie im Unterschied müssen gruppenweise für Datum

nach Datum hinzufügen geben
select count (distinct order_id) from table name 

müssen für Datum hinzufügen weise

group by date(here your column name) 
0

Sie müssen DISTINCT für Ihre erwartete Ausgabe verwenden.

können Sie folgende Abfrage versuchen.

SELECT 
    COUNT(DISTINCT order_id) AS orderCount 
FROM order_list 

DISTINCT COUNT (*) gibt eine Zeile für jede eindeutige Zählung zurück. Was Sie wollen, ist COUNT (DISTINCT-Ausdruck): wertet den Ausdruck für jede Zeile in einer Gruppe aus und gibt die Anzahl eindeutiger Nicht-Null-Werte zurück.

Verwandte Themen