sql >> Databasteknik >  >> RDS >> Mysql

Välj max av en summa av två kolumner

Om du vill ha alla rader när det finns flera rader med samma maximala värde kan du använda den här frågan:

SELECT * FROM Table1
WHERE stu1Vers + stu2Vers = (SELECT MAX(stu1Vers + stu2Vers) FROM Table1)

Inklusive ditt tillstånd:

SELECT * FROM Table1
WHERE stu1Vers + stu2Vers = (
    SELECT MAX(stu1Vers + stu2Vers)
    FROM Table1
    WHERE stu1!=stu2 and assignmentid=9
) AND stu1!=stu2 and assignmentid=9

Resultat:

392, 19, 2, 1, 6

Angående din uppdatering av frågan, jag är inte säker på vad du menar med att returnera alla rader grupperade efter stu1 och stu2. Du kanske menar sorterad efter dessa kolumner? Om så är fallet, lägg till ORDER BY stu1, stu2 till frågan.



  1. Hur lagrar jag 3 listor med alternativknappar i mysql-databasen i en kolumn, olika rader?

  2. EXPLAIN och COUNT returnerar två olika värden

  3. Hur avrundar man ett genomsnitt till 2 decimaler i PostgreSQL?

  4. MySQL BLOB vs fil för lagring av små PNG-bilder?