2016-04-08 5 views
0

ich bereits eine Abfrage haben, die diese Ergebnisse wieBestellzeilen und Anzeige Bestellnummer

+-----------+------------+---------------+--------+ 
| DetailsNo | SaleDate | Country  | Value | 
+-----------+------------+---------------+--------+ 
|  277 | 2012-02-10 | PHI   |  42 | 
|  279 | 2012-02-10 | PHI   |  10 | 
|  280 | 2012-02-10 | USA   |  30 | 
|  281 | 2012-02-10 | USA   |  25 | 
|  282 | 2012-02-10 | FRA   |  65 | 
|  283 | 2012-02-10 | FRA   |  36 | 
|  284 | 2012-02-10 | GER   |  47 | 
+-----------+------------+---------------+--------+ 

Was ich brauche, ist eine weitere Spalte hinzuzufügen, und eine Art Auftragsnummer wie folgt angezeigt:

+-----------+------------+---------------+--------+--------+ 
| DetailsNo | SaleDate | Country  | Value | Order | 
+-----------+------------+---------------+--------+--------+ 
|  277 | 2012-02-10 | PHI   |  42 |  1 | 
|  279 | 2012-02-10 | PHI   |  10 |  2 | 
|  280 | 2012-02-10 | USA   |  30 |  1 | 
|  281 | 2012-02-10 | USA   |  25 |  2 | 
|  282 | 2012-02-10 | FRA   |  65 |  1 | 
|  283 | 2012-02-10 | FRA   |  36 |  2 | 
|  284 | 2012-02-10 | GER   |  47 |  1 | 
+-----------+------------+---------------+--------+--------+ 

Ist das möglich?

+0

Was ist Ihr vorhandener Code? Was hast du probiert und was waren die Probleme? –

+0

In der Praxis ist es sehr unwahrscheinlich, dass Sie diesen Wert speichern möchten. – Strawberry

Antwort

0

Sie können Variablen für diesen Einsatz:

SELECT DetailsNo, SaleDate, Country, Value, 
     @rn := IF(@c = Country, @rn + 1, 
       IF(@c := Country, 1, 1)) AS 'Order' 
FROM mytable 
CROSS JOIN (SELECT @rn := 0, @c := '') AS vars 
ORDER BY Country, DetailsNo 

Demo here

+0

RUFEN SIE NICHT DIE SPALTE 'ORDER' an. – Strawberry

+0

@Strawberry gibt es keinen Grund zu schreien, egal was das Problem ist. –

+0

Ich schreie nicht. Ich betone jedes Wort ;-) – Strawberry

Verwandte Themen