On Thursday, November 30, 2017 at 1:15:34 PM UTC+2, 
[email protected] wrote:
>
> I'm not sure I understand the link between student and student_class.  
> Does student.class_name reference class_name.id?
>

Yes it does 

>
> Anyway, I think you need to be joining things up properly, and grouping by 
> student:
>
> def generate_report():    
>
>     marks=db(
>       (db.student_class.class_name=='5A')
>       & (db.student.class_name == db.student_class.id)
>       & (db.marks.student == db.student.id)
>     ).select(
>       db.marks.avg().with_alias('average_marks'),
>       groupby=db.marks.student,
>       orderby=~db.marks.avg()
>     )
>
>     return locals()
>
> Then you can find the position in the rowset.
>

OK thanks, i'll try this out & i really really hope it helps me coz i'm 
beat!!! 

>
>
> On Thursday, 30 November 2017 10:27:09 UTC, mostwanted wrote:
>>
>>
>>
>> On Thursday, November 30, 2017 at 12:03:06 PM UTC+2, 
>> [email protected] wrote:
>>>
>>> I think you need to give a bit more context.  What are your model 
>>> definitions for db.student_class and db.marks?  Does each student have 
>>> multiple rows in the marks table?
>>>
>>
>>
>>
>> *THESE ARE MY MODEL DEFINITIONS:*I put up the only the ones i thought 
>> mat be necessary here but if u need anything else please let me know 
>>
>>> db.define_table('student_class',
>>>                 Field('class_name', requires=IS_NOT_EMPTY()),
>>>                 Field('teacher', 'reference teacher'),
>>>                 format='%(class_name)s')
>>>
>>> db.define_table('student',
>>>                 Field('surname', requires=IS_NOT_EMPTY()),
>>>                 Field('name', requires=IS_NOT_EMPTY()),
>>>                 Field('photo', 'upload', requires=IS_NOT_EMPTY()),
>>>                 Field('gender', requires=IS_NOT_EMPTY()),
>>>                 Field('residence', requires=IS_NOT_EMPTY()),
>>>                 Field('guardian', 'reference parent'),
>>>                 Field('class_name', 'reference student_class'),
>>>                 Field('dob', 'date', requires=IS_NOT_EMPTY()),
>>>                 format='%(surname)s', migrate=False, false_migrate=True)
>>>
>>> db.define_table('marks',
>>>                 Field('student', 'reference student'),
>>>                 Field('subject', 'reference subject'),
>>>                 Field('term', 'reference term'),
>>>                 Field('marks', 'float', requires=IS_NOT_EMPTY()),
>>>                 Field('total', 'float', requires=IS_NOT_EMPTY()),
>>>                 Field('percentage','float', readable=False, writable=
>>> False),
>>>                 Field('average', 'float', readable=False, writable=False
>>> ),
>>>                 Field('grade', readable=False, writable=False),
>>>                 Field('totalAverage', readable=False, writable=False),
>>>                 Field('averageGrade', readable=False, writable=False),
>>>                 Field('comments',type='text',requires=IS_NOT_EMPTY()))
>>>
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to