sql >> Database teknologi >  >> RDS >> Mysql

MYSQL Bestil fra et andet bord

Der er 2 måder at sortere på. Stigende og faldende rækkefølge. Du har ikke nævnt ordren. Så jeg giver jer begge svar med 2 variationer:

STIGENDE RÆKKE:

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;

FALDENDE ORDRE:

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;

Hvis du vil bede MySQL om først at sortere FØRST efter volgnr og derefter efter product_id :

STIGENDE RÆKKE:

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;

FALDENDE ORDRE:

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;

Håber det hjælper.

Rediger 1:

Jeg har nu redigeret forespørgslen, så den ikke giver dig dubletter i resultater. Prøv det, og lad mig vide, hvordan det går.

Rediger 2: Tilføjet gruppe efter klausul. Prøv dette.



  1. kunde.pk_name joining transactions.fk_name vs. kunde.pk_id [serial] joining transactions.fk_id [heltal]

  2. Brug FILEGROUP_NAME() til at returnere navnet på en filgruppe i SQL Server

  3. Opdater forespørgsel med PDO og MySQL

  4. Oracle - Materialized View stadig tilgængelig under fuldstændig opdatering. Hvordan virker det?