# -*- coding: utf-8 -*- import pymysql M = dict( host='cq-cdb-8fjmemkb.sql.tencentcdb.com', port=27220, user='root', password='Ylrz_1q2w3e4r5t6y', database='ylrz_saas', charset='utf8mb4', ) c = pymysql.connect(**M) cur = c.cursor() cur.execute( 'SELECT visible, COUNT(*) FROM tenant_sys_menu WHERE parent_id=35300 GROUP BY visible' ) print('direct children visible', cur.fetchall()) cur.execute( "SELECT parent_id, path, COUNT(*) c FROM tenant_sys_menu " "WHERE menu_type<>'F' AND visible='0' GROUP BY parent_id, path HAVING c>1" ) print('path dup', cur.fetchall()) # simulate API visible=0 - count children returned for 35300 cur.execute( "SELECT menu_id, menu_name, menu_type FROM tenant_sys_menu " "WHERE visible='0' AND parent_id=35300 ORDER BY order_num LIMIT 5" ) print('sample visible children under 35300:') for r in cur.fetchall(): print(' ', r) cur.execute( "SELECT COUNT(*) FROM tenant_sys_menu WHERE visible='0' AND parent_id=35300" ) print('total visible direct children', cur.fetchone()[0]) cur.close() c.close()