% This file is embedded in datatool-user.pdf version 3.2 2025-03-14
% Example 105 Sorting Data Using \DTLsortdata by Descending Numeric and Ascending String Values
% Label: "ex:sortmarksdes"
% arara: pdflatex
% arara: pdfcrop
\documentclass[12pt]{article}
\pagestyle{empty}
 \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
Surname,Forename,StudentNo,Assign1,Assign2,Assign3
"Smith, Jr",John,102689,68,57,72
"Brown",Jane,102647,75,84,80
"Brown",Jane,102646,64,92,79
"Brown",Andy,103569,42,52,54
"Adams",Zoë,105987,52,48,57
"Brady",Roger,106872,68,60,62
"Verdon",Clare,104356,45,50,48
\end{filecontents}

\usepackage{datatool}
\DTLsetup{store-datum,default-name=marks}
\DTLread{studentmarks.csv} 
\begin{document}
\DTLsortdata{marks}{Assign1=descending,Surname} 

\DTLaction{display} 
\end{document}