sql >> Database >  >> RDS >> Mysql

MySQL:Dynamisch kolommen toevoegen aan queryresultaten

Hier is wat slimme SQL. Het selecteert 'LAATSTE' voor de eerste rij en 'VORIGE' voor alle andere (als we er meer dan één hebben).

SELECT IF(@rownum = 0, 'LATEST', 'PREVIOUS') update_time, update_id, 
       title, content, date, (@rownum := @rownum + 1) r
FROM updates, (SELECT @rownum := 0) dummy
WHERE project_id = 2
ORDER BY date DESC
LIMIT 2

Het voegt ook nog een kolom toe aan de resultatenset. Ik hoop dat het geen probleem is.



  1. IF syntaxisfout

  2. Mysql group_concat met sommen ook binnen

  3. Hoe het aantal bits in een string in MySQL te krijgen - BIT_LENGTH()

  4. Hoe maak je een echte één-op-één relatie in SQL Server