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

Få MAX-værdi fra én kolonne og MIN fra en anden kolonne

Dit forsøg var ikke så langt væk. Du manglede dog en nødvendig del af den første JOIN ... ON-klausul, og den anden JOIN er ikke nødvendig.

SELECT tbl1.stage_level_id, tbl1.max_value, MIN(s.moves) AS moves
FROM 
(
  SELECT stage_level_id, MAX(value) AS max_value
  FROM scores
  GROUP BY stage_level_id
) tbl1
LEFT JOIN scores s ON tbl1.stage_level_id = s.stage_level_id AND tbl1.max_value = s.value
GROUP BY stage_level_id

DEMO



  1. PRINT-sætning i T-SQL

  2. betinget af dobbeltnøgleopdatering

  3. placere flere resultater i en enkelt matrix

  4. Sammenføjning af InnoDB-tabeller med MyISAM-tabeller