import sqlite3

conn = sqlite3.connect(r'\\ll\D\xtrssvjj\db\dpd.db')
cursor = conn.execute('''
    SELECT rowid, pub, pubsetdt_of_v 
    FROM ads 
    WHERE pub = 3 OR pub = 4 
    ORDER BY 
        CASE WHEN pubsetdt_of_v IS NULL OR pubsetdt_of_v = '' THEN 0 ELSE 1 END,
        pubsetdt_of_v DESC,
        rowid DESC
''')
rows = cursor.fetchall()

# 找到 rowid=282364 的位置
found_pos = None
for i, r in enumerate(rows):
    if r[0] == 282364:
        found_pos = i + 1
        print(f'rowid=282364 在第 {found_pos} 位')
        print(f'记录信息: {r}')
        break

if found_pos is None:
    print('rowid=282364 不在查询结果中！')
else:
    # 计算页数（每页100条）
    page = (found_pos - 1) // 100 + 1
    print(f'这条记录在第 {page} 页')
    
    # 显示附近的记录
    print(f'\n第 {found_pos-2} 到 {found_pos+2} 位的记录:')
    start = max(0, found_pos - 3)
    end = min(len(rows), found_pos + 2)
    for i in range(start, end):
        r = rows[i]
        marker = ' <<< ' if r[0] == 282364 else ''
        print(f'{i+1}: rowid={r[0]}, pub={r[1]}, pubsetdt_of_v={r[2]}{marker}')

# 统计 pubsetdt_of_v 为 NULL 和非 NULL 的数量
null_count = sum(1 for r in rows if r[2] is None or r[2] == '')
non_null_count = len(rows) - null_count
print(f'\n统计信息:')
print(f'总记录数: {len(rows)}')
print(f'pubsetdt_of_v 为 NULL/空的记录数: {null_count}')
print(f'pubsetdt_of_v 非空的记录数: {non_null_count}')
