createindex: Top 5 genres

This commit is contained in:
Vincent Riquer 2013-10-28 13:35:23 +01:00
parent 2f2c18177e
commit 666b9a0ab4

View File

@ -573,6 +573,52 @@ unset types counts counpcts sizes sizepcts
echo '
Top 5 genres:'
maxgenrelen=5
maxcountlen=5
unset counts genres
echo '
SELECT genre,
COUNT(*)
FROM tags
WHERE genre NOT NULL
GROUP BY genre
ORDER BY COUNT(*) DESC
LIMIT 5;
SELECT "AtOM:NoMoreFiles";' >&3
read -u4 line
until [[ $line == AtOM:NoMoreFiles ]]
do
genre="${line%%::AtOM:SQL:Sep::*}"
rest="${line#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::"
count="${rest%%::AtOM:SQL:Sep::*}"
counts+=( "$count" )
genres+=( "$genre" )
maxcountlen=$(( ${#count} > maxcountlen ? ${#count} : maxcountlen ))
maxgenrelen=$(( ${#genre} > maxgenrelen ? ${#genre} : maxgenrelen ))
read -u4 line
done
head=$(
printf "| # | %'${maxcountlen}s | %-${maxgenrelen}s |" \
Count Genre
)
sep=${head//[^|]/-}
sep=${sep//\|/+}
echo "$sep"
echo "$head"
echo "$sep"
for id in ${!genres[@]}
do
printf "| %i | %'${maxcountlen}i | %-${maxgenrelen}s |\n" \
$(( id + 1 )) \
"${counts[id]}" \
"${genres[id]}"
echo "$sep"
done
unset line genre count rest genres counts maxgenrelen maxcountlen
'
echo '
SELECT COUNT(*),SUM(size)