
sql相关问题
记录使用sql过程中遇到的各种问题和解决办法
dair6
这个作者很懒,什么都没留下…
展开
-
ubuntu安装mysql详细过程
1.安装mysql-serversudo apt install mysql-server2.登录sudo mysql -u root -p两点要注意:添加sudo;password中,默认使用回车键3.修改登录密码4.卸载msyql不要使用,如果没有备份,删除发生故障都恢复不了sudo rm -rf /var/lib/mysql/sudo rm -rf /etc/mysql/sudo apt-get autoremove mysql* --purge -y查看安装的my原创 2022-03-18 10:18:08 · 10610 阅读 · 2 评论 -
clickhouse普通函数,聚合函数使用总结
## 一.创建clickhouse表### 1.建表CREATE TABLE ck_test( `id` String COMMENT 'id', `int_1` UInt32 COMMENT '整型列1', `int_2` UInt32 COMMENT '整型列2', `str_1` String COMMENT '字符串列1', `str_2` String COMMENT '字符串列2')ENGINE = MergeTreeORDER BY id...原创 2022-02-11 14:38:01 · 8624 阅读 · 0 评论 -
python连接clickhouse两种方法
1.使用Client类import loggingfrom apscheduler.schedulers.blocking import BlockingSchedulerfrom clickhouse_driver import Clientlogger = logging.getLogger(__name__) # 操作日志对象class CkClient(): """数据库连接的公共类,初始化连接,自定义查询,删除等操作""" def __init__(self):原创 2022-02-09 10:29:16 · 4649 阅读 · 0 评论 -
clickhouse使用clickhouse-backup来本地和远程备份文件
1.下载clickhouse-backupwget https://github.com/AlexAkulov/clickhouse-backup/releases/download/v1.0.0/clickhouse-backup.tar.gztar -zxvf clickhouse-backup.tar.gz # 解压cd clickhouse-backupcp clickhouse-backup /usr/local/bin/ # 将可执行文件复制到/usr/local/binmkdir原创 2022-02-08 18:04:17 · 6634 阅读 · 1 评论 -
clickhouse重启,以及修改数据存储目录后重启失败的解决办法
1.clickhouse重启,查看重启之后的状态 systemctl restart clickhouse-server #重启 systemctl start clickhouse-server # 启动 systemctl status clickhouse-server #查看状态2. 修改数据文件存储路径vim /etc/clickhouse-server/config.xml 将/var/lib/clickhouse默认存储路径,改为/data/clickhousecp -r原创 2022-02-08 13:02:22 · 11756 阅读 · 0 评论 -
clickhouse远程连接以及用户名密码设置
clickhouse远程连接以及用户名密码设置(1)远程连接sudo vim /etc/clickhouse-server/config.xml两种情况,如果没有禁用ipv6,找到<!--<listen_host>::</listen_host> -->改为<listen_host>::</listen_host>如果禁用了ipv6,则使用配置<listen_host>0.0.0.0</listen_host原创 2022-01-18 16:05:37 · 3774 阅读 · 0 评论 -
hive sql报错ParseException in subquery source
hive sql报错ParseException in subquery sourceorg.apache.hadoop.hive.ql.parse.ParseException:line 368:18 cannot recognize input near ‘group’ ‘by’ ‘order_phone_num’ in subquery sourcesql: customer_Flag as ( select order_phone_num,原创 2021-12-21 14:37:15 · 5027 阅读 · 0 评论 -
sql中使用正则表达式regexp的两种方式
sql中使用正则表达式regexp的两种方式table_a:idtitle1健康早餐2自动变速table_b:nameregname1(营养|健康).{0,2}早餐name2(自动|智能).{0,2}变速1.方式一匹配正则表达式select id, title from table_a where title regexp ' (营养|健康).{0,2}早餐'不匹配正则表达式 title fr原创 2021-12-09 10:17:28 · 5797 阅读 · 0 评论 -
pandas中计算分位数的方法describe,quantile,以及sql中计算分位数的方法percentile_approx,percent_rank() over()
1.pandas中计算分位数的方法describe,quantile准备一张表def test(): df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':['d','e','f']}) print(df)表结构如下:(1)p分位数原理和计算过程例:a =[20,10,30],求这组数的四分之一,二分之一,四分之三分位数,即p=0.25,p=0.5,p=0.75的情况1.从小到大排序[10,20,30],长度n = len(a) = 3原创 2021-11-16 20:17:35 · 27155 阅读 · 0 评论 -
sql中,将两张没有关系的表连接到一起需要用cross join,笛卡尔积
1.遇到这样一个需求:表a有2列,字段为id,num现在,要求num列下的四分之一分位数four_per(类似于求平均数),最终效果如下:使用cross join可以达到这样 的效果,sql如下:with four as ( select percentile_approx(num,0.25) as four_per from a )select *, four.four_perfrom across join four2.测试sql时的一些经验:(1)select 并不原创 2021-11-12 10:25:05 · 8675 阅读 · 0 评论 -
sql中灵活运用join使代码更直观简洁,以及使用join... on 1=1计算分组百分比
表a的结构如下:需求如下:求出time_period所占的比例最终结果如下:不使用join… on 1=1: ceshi0 as ( select order_phone_num, --需要注意的是无论count(*),count(time_period)还是其他字段,结果是一样的,因为group by根据的是order_phone_num, --除了order_phone_num这个字段,分组之后,其他原创 2021-11-15 17:27:01 · 5831 阅读 · 0 评论 -
sql中如何一列下百分比显示
select concat(cast((num) * 100 / (period_num) as decimal(10, 2)), '%') as hundrend_perfrom 表aconcat:连接百分比中左边的数字和右边的百分号%cast(___ as decimal(10,2)):将__中的数据类型转换为浮点数,其中2表示保留两位小数,10表示小数点左边和右边数字个数之和...原创 2021-11-15 10:07:49 · 5253 阅读 · 1 评论 -
spark sql之日期函数
1.data_format小时取整2.current_data3.now()获取当前时间4.day()日5.to_date,字符串转换为日期6.date_add,n天后的日期,可以为负数7.last_day(),取月末日期8.datediff日期相减9.trunc截取年’YEAR’或者月’MM’,其余默认为01截月截年...原创 2021-11-10 20:01:03 · 10883 阅读 · 0 评论 -
如何从 wrappedarray中取数,以及row_number不排序打标签
1.从wrappedarray中取单个元素,类似于数组array如果a在表中的结果为WrappedArray(14,20,50)那么 a[0] = 14 a[1] = 20 a[2] = 502.row_number()不排序打标签 with four_per_1 as ( select *, row_number() over (order by (select 0)) as rn --这种方式实现不排序,但给每一行都给一原创 2021-11-12 11:09:57 · 1044 阅读 · 0 评论