sql >> Database >  >> RDS >> Mysql

MYSQL-bestelling vanaf een andere tafel

Er zijn 2 manieren om te sorteren. Oplopende volgorde en aflopende volgorde. U heeft de bestelling niet vermeld. Dus ik geef jullie beide antwoorden met 2 variaties:

OPGAANDE BESTELLING:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.product_id ASC, table2.volgnr ASC;

AFGAANDE BESTELLING:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.product_id DESC, table2.volgnr DESC;

Als je MySQL wilt vertellen om eerst EERST te sorteren op volgnr en dan op product_id :

OPGAANDE BESTELLING:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.volgnr ASC, table2.product_id ASC;

AFGAANDE BESTELLING:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.volgnr DESC, table2.product_id DESC;

Ik hoop dat dat helpt.

Bewerken 1:

Ik heb de query nu bewerkt zodat u geen dubbele resultaten krijgt. Probeer het uit en laat me weten hoe dat gaat.

Bewerken 2: Groepsby-clausule toegevoegd. Probeer dit eens.



  1. Converteer NULL-waarden naar de standaardwaarde van de kolom bij het invoegen van gegevens in SQLite

  2. URL herschrijven met .htaccess dubbele mysql-vermeldingen maken

  3. BIGINT Out-of-range-fout sinds MySQL 5.5

  4. MySQL relationele databases gebruiken op Debian 5 (Lenny)