sql - SQL - 计算整个表中不为空且不为空的所有单元格
问题描述
我最近被要求对一些表中非 NULL 且非空/空白的所有单元格进行计数。
问题是,我有大约 80 个表,其中一些表有几十列,而另一些表有数百列。
是否有一个查询可以用来计算符合特定条件的所有列中的所有单元格(在这种情况下不是 NULL 并且不是空/空白)?
我做了一些搜索,似乎大多数答案都围绕着单列或只有 3-5 列的表。
谢谢!
解决方案
尝试使用 pymysql 或 pyodbc 连接器将 SQL 与 pandas 连接,然后使用 for 循环遍历每一列并对其应用 count 函数。
import pymysql
import pandas as pd
import numpy as np
con = pymysql.connect('[host name]', '[user name]','[your password]', '[database name]')
cursor = con.cursor()
df = pd.read_sql('select * from [table name]',con) # SQL converted to pandas dataframe
print(df)
for col in df.columns: # loops through column
count_ = df[col].count()
print(count_) # returns count for non-nan values
推荐阅读
- javascript - 使用正则表达式从正文元素中选择单个文本字符
- cakephp - 具有属于两个更高模型的深度关联的保存模型
- python - 纸浆求解功能给出相同的输出
- database - PostgreSQL 逻辑复制应该使用多少 CPU/带宽?
- .htaccess - .htaccess 特定代码将 http 流量重定向到 https 并将子域流量重定向到异地域
- reactjs - 使用 Link 在 React-Router 中上一级
- php - 将现有的 meta_value 复制到新的 meta_key 名称 - WordPress
- redis - Redis:如何遍历所有哈希并为给定字段构建值列表?
- javascript - Ajax POST 工作,但 php 文档无法获取数据变量
- android - Gradle 3.4 app/libs,找不到文件:app/libs(是一个目录)