Ciao, tecnicamente questa funzione viene detta "table drag and drop". Svilupparla da zero, per ottenere una cosa funzionale e funzionante, non è così semplice. Potresti tuttalpiù usare qualche plugin jQuery di appoggio oppure l'estensione jQuery UI, la quale fornisce anche le funzionalità di trascinamento e ordinamento applicabili anche per il tuo caso. Con qualche semplice ricerca sono sicuro che si trovano facilmente guide, tutorial, demo e quant'altro ti serve per poter mettere su ciò che chiedi.

Fai però attenzione, bisogna considerare bene il tuo discorso "spostare le righe tenendo premuto il sinistro del mouse" perché le tue righe contengono degli elementi sensibili agli eventi mouse (vedi i campi input) che andrebbero ad interferire sull'azione di trascinamento. Eventualmente può essere utile creare una colonna, cioè una specifica cella per riga, da usare come "maniglia" per il trascinamento.

Un'alternativa al "drag and drop", più semplice a livello di sviluppo, potrebbe essere quella di usare due semplici pulsantini ("sposta su" e "sposta giù" ) da riportare sempre in una specifica cella per ogni riga, in modo da applicare la funzione di spostamento attraverso il loro click. Certo, rispetto al trascinamento è una funzionalità meno friendly per l'utente ma è sicuramente più semplice metterla in piedi a livello di programmazione se la si sviluppa da zero.

Intanto ti invito a fare qualche ricerca per vedere cosa riesci a trovare, così da farti un'idea e magari cercare di applicarlo al tuo caso. Se poi ti dovesse servire ulteriore aiuto nell'applicazione, puoi chiedere qui stesso.

Fai sapere.