CData Python Connector for Zoho Creator

Build 24.0.9060

Other SQL Clauses

SQLAlchemy ORM also exposes support for other clauses in SQL, such as ORDER BY, GROUP BY, LIMIT, and OFFSET. All of these are supported by this connector:

ORDER BY

The following example sorts by a specified column using the session object's query() method:
rs = session.query([CData].[Employee Management].Leave_Types).order_by([CData].[Employee Management].Leave_Types.AnnualRevenue)
for instance in rs:
	print("Id: ", instance.Id)
	print("ID: ", instance.ID)
	print("Leave_Type: ", instance.Leave_Type)
	print("---------")

You can also use the session object's execute() method perform an ORDER BY. For example:

rs = session.execute([CData].[Employee Management].Leave_Types_table.select().order_by([CData].[Employee Management].Leave_Types_table.c.AnnualRevenue))
for instance in rs:

GROUP BY

The following example uses the session object's query() method to group records with a specified column:
rs = session.query(func.count([CData].[Employee Management].Leave_Types.Id).label("CustomCount"), [CData].[Employee Management].Leave_Types.ID).group_by([CData].[Employee Management].Leave_Types.ID)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("ID: ", instance.ID)
	print("---------")

You can also use the session object's execute() method to perform a GROUP BY:

rs = session.execute([CData].[Employee Management].Leave_Types_table.select().with_only_columns([func.count([CData].[Employee Management].Leave_Types_table.c.Id).label("CustomCount"), [CData].[Employee Management].Leave_Types_table.c.ID]).group_by([CData].[Employee Management].Leave_Types_table.c.ID))
for instance in rs:

LIMIT and OFFSET

The following example uses the session object's query() method to skip the first 100 records and fetch the following 25:
rs = session.query([CData].[Employee Management].Leave_Types).limit(25).offset(100)
for instance in rs:
	print("Id: ", instance.Id)
	print("ID: ", instance.ID)
	print("Leave_Type: ", instance.Leave_Type)
	print("---------")

You can also use the session object's execute() method to set a LIMIT or OFFSET:

rs = session.execute([CData].[Employee Management].Leave_Types_table.select().limit(25).offset(100))
for instance in rs:

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060