[Koha] [KOHA] SQL CIRCULATION REPORT- how to SUM

muiru james muirunyeri at gmail.com
Thu Mar 12 20:03:50 NZDT 2020


Hi Rogan and Team,

I really appreciate your assistance towards my problem. The query does
indeed work to answer my need. Another query was also pushed to me towards
the same.

I'm now looking for a way to SUM my answer to get the total number of books
issued. Any suggestions would be most welcome for any of the 2 queries. The
other SQL query is as below: -

SELECT CONCAT(SUBSTRING(itemcallnumber,1,1), '00') AS "CLASS",
count(statistics.type) AS 'NUMBER'
FROM borrowers
  LEFT JOIN statistics ON
(statistics.borrowernumber=borrowers.borrowernumber)
  LEFT JOIN items ON (items.itemnumber = statistics.itemnumber)
  LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber =
items.biblioitemnumber)
WHERE statistics.type IN ('issue', 'renew')
  AND date(statistics.datetime) BETWEEN <<Date BETWEEN (yyyy-mm-dd)|date>>
AND <<and (yyyy-mm-dd)|date>>
  AND statistics.itemtype = 'BK'
GROUP BY SUBSTRING(itemcallnumber,1,1)
ORDER BY items.itemcallnumber ASC

N.B My desire is to SUM the NUMBER column as TOTAL.

Please assist team

Warm Regards.
JAMES

On Fri, Mar 6, 2020 at 7:10 PM <rogan.hamby at gmail.com> wrote:

> Hi James,
>
> One simple way to handle it is with a case statement.  The
> following example has a static between filter for the dates but it
> illustrates this approach. You can also do some cleaning to make sure there
> aren't spaces in front and it assumes that all of your DDC numbers in fact
> start with a digit.
>
> SELECT
> COUNT(*),
> CASE
>     WHEN LEFT(it.itemcallnumber,1) = '0' THEN '000s'
>     WHEN LEFT(it.itemcallnumber,1) = '1' THEN '100s'
>     WHEN LEFT(it.itemcallnumber,1) = '2' THEN '200s'
>     WHEN LEFT(it.itemcallnumber,1) = '3' THEN '300s'
>     WHEN LEFT(it.itemcallnumber,1) = '4' THEN '400s'
>     WHEN LEFT(it.itemcallnumber,1) = '5' THEN '500s'
>     WHEN LEFT(it.itemcallnumber,1) = '6' THEN '600s'
>     WHEN LEFT(it.itemcallnumber,1) = '7' THEN '700s'
>     WHEN LEFT(it.itemcallnumber,1) = '8' THEN '800s'
>     WHEN LEFT(it.itemcallnumber,1) = '9' THEN '900s'
>     ELSE 'OTHER'
>     END
> from (SELECT * FROM issues UNION ALL SELECT * FROM old_issues) i
> JOIN items it ON it.itemnumber = i.itemnumber
> WHERE DATE(i.timestamp) BETWEEN '2020-02-01' AND '2020-02-29'
> GROUP BY 2 ORDER BY 2;
>
>
>
> On Thu, Mar 5, 2020 at 11:06 AM muiru james <muirunyeri at gmail.com> wrote:
>
>> Dear All,
>>
>> My library uses DDC scheme of classification and we are looking for a
>> report that will count items checked out allowing us to select day(s) of
>> issue, select itemtype and group the statistics by DDC 10 broad classes.
>>
>> *EXAMPLE*
>>
>> IN a date range say 1st-31st March 2020.
>>
>> *DDC Class  | NO. of books issued*
>> 000           -               12
>> 100           -               26
>> 200           -               157
>> .
>> .
>> .
>> 900          -               230
>>
>> The report can generate statistics for a day, month, quarter, e.t.c.
>>
>> Any assistance however close will be greatly appreciated.
>>
>> Thank you as you prepare to help
>>
>> James
>> _______________________________________________
>>
>> Koha mailing list  http://koha-community.org
>> Koha at lists.katipo.co.nz
>> Unsubscribe: https://lists.katipo.co.nz/mailman/listinfo/koha
>>
>


More information about the Koha mailing list