Ik denk dat je voor de volgorde per onderdeel iets als
. moet gebruikenorder by case
when stock > 0 then 0
when stock < 0 then 1
end ascending,
price ascending
Ik heb de syntaxis niet gecontroleerd, maar dat is het idee. U kunt op volgorde googlen voor meer info.
Wat de rest van jullie vereisten betreft, zou ik de tabelstructuur nodig hebben om beter te begrijpen...