SQL
Mr_YDK
1、有的程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。
2、编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
关于高斯/Oracle 的 MergeInto 语法
1、主键冲突则更新MERGE INTO table_9_copy T1 USING (select id,name,age from (select row_number() over (PARTITION by id order by age desc) row_number_column, id,name,age from (select '0' as id,'名231字2' as name,'0' as age union all select '1' as id,'名字333' as原创 2021-07-07 21:32:15 · 3059 阅读 · 2 评论 -
ODPS(MaxComputer)清空分区表的数据
insert overwrite table test_500w partition(f1='20200702',f2='20:00') select `(f1|f2)?+.+` from test_500w where 1=2;其中f1,f2为分区字段名,子查询的含义是查询分区字段之外的其他字段原创 2020-07-06 19:50:28 · 7479 阅读 · 0 评论 -
Hive_SQL记录
1.建表CREATE TABLE IF NOT EXISTS all_type_table ( `c_in` INT, `c_bi` BIGINT, `c_st` STRING, `c_do` DOUBLE, `c_fl` FLOAT, `c_de` DECIMAL(20,10), `c_da` DATE, `c_ts` TIMESTAMP, `c_ba` BINARY, `c_bl` BOOLEAN...原创 2020-05-21 16:06:29 · 172 阅读 · 0 评论 -
Hive一条SQL使用随机值创建测试表一百万条数据
找一个1000条数据的表,例如表large01,利用left join通过表的笛卡尔积插入,1000 left join 1000 为 1000000,若初始表只有十条数据,无非是多left join几次;同理更大批量数据也可以实现create table test_table_100w asselectrow_number() over(order by 1) as id,subs...原创 2020-04-02 18:03:37 · 3228 阅读 · 0 评论 -
Mysql获取表的创建时间和修改时间
两个方法:1.show table status from db_name like '表名';2. SELECT create_time 表结构最后更新时间,update_time 数据最后更新时间 FROM information_schema.tables WHERE table_schema = 数据库名 AND table_name = 表名 ;...原创 2020-03-20 17:03:41 · 2699 阅读 · 3 评论 -
odps SQL 查询除某字段之外的其他字段
t1.`(dt|cz)?+.+`select t1.`(dt|cz)?+.+` from test001 t1 where dt='20190911' and cz='u';即查询表中出dt和cz外其他字段原创 2020-03-04 17:05:31 · 2784 阅读 · 0 评论 -
ODPS 不同格式的日期比较大小(取极值)
思路:SQL实现,正则表达式匹配到不同格式然后将其转为同一种格式的日期时间进行比较例如:将所有的日期格式转换为yyyyddMMhhmmsss的格式这里是在odps的写的实例,用到正则匹配和正则替换#取最小值select distinct tmp1.birthday,tmp1.real_birthday from (select regexp_replace(tmp.birthda...原创 2019-10-14 10:30:01 · 3510 阅读 · 0 评论 -
数据探查-ODPS大数据引擎计算不同格式的日期时间类型的极值
思路:SQL实现,正则表达式匹配到不同格式然后将其转为同一种格式的日期时间进行比较例如:将所有的日期格式转换为yyyyddMMhhmmsss的格式#取最大值select tmp1.birthday,tmp1.real_birthday from (select regexp_replace(tmp.birthday, "[-|/|.|\\s|:|年|月|日]", "\\1", 0) ...原创 2019-10-11 15:42:26 · 874 阅读 · 0 评论 -
获取两个日期之间日期列表(每一天),并将日期列表插入数据库
Controller@RequestMapping(value = "add.json",method = {RequestMethod.GET}) public List add(HttpServletResponse response, HttpServletRequest request ) { try { DateFormat d原创 2017-10-16 14:17:31 · 1212 阅读 · 0 评论 -
MYSQL中SQL语句查询表字段名、注释、字段类型
select column_name,column_comment,data_type from information_schema.columns where table_name='你的表名'PLUS:查询dababase下所有表名及表注释SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHER原创 2017-09-01 13:48:28 · 23011 阅读 · 1 评论 -
MYSQL中日期精确到日
假设精确到日1. 若数据库表中日期为varchar类型字段,直接使用substring截取 SELECT substring(createTime,1,10) from tableA//createTime格式 2017-09-11 19:59:592.数据库中字段为日期convert(char(20),createTme,120)将日期字段进行格式化转换成字符格式的函数。原创 2017-09-11 14:38:29 · 5696 阅读 · 0 评论 -
Mysql,Mybatis做时间过滤报表:日周月统计
声明:classType------0:今日,1:周,2:月,3:自定义,4:最近七天 AND DATE_FORMAT(s.create_time,'%Y%u') = DATE_FORMAT(CURDATE( ),'%Y%u') AND原创 2017-09-13 14:28:38 · 3616 阅读 · 0 评论 -
SQL分组查询,结果只取最新记录
select a.* from (select * from TABLE order by create_time desc) a group by a.user_id这里查询的是USER_ID相同的最新一条数据原创 2017-08-10 10:26:49 · 38870 阅读 · 13 评论 -
SQL语句中计算百分比
SQL语句中计算百分比 A.TOTAL_COUNT TOTALCOUNT, A..QUES_COUNT QUESCOUNT, CASEWHEN TOTAL_COUNT = QUES_COUNTTHEN '100%'ELSE TO_CHAR((ROUND(QUES_COUNT / DECODE(TOTAL_COUNT, 0, 1, TOTAL_COUNT), 4)原创 2017-08-09 14:43:27 · 10189 阅读 · 0 评论