SQL 常用函数集合
--join函数具体的使用方法,对应的数据表,必须在同一个数据库中 SELECT vt.called_no,cr.check_total_label_list,cr.check_label_list,vt.voice_id,cr.partition_dt FROM ailab_vqc.check_result_201908 as cr JOIN ailab_vqc.voice_tab_201908 as vt ON cr.voice_id=vt.voice_id WHERE cr.check_status=0 AND vt.biz_model_type=4 and cr.partition_dt="2019-08-30" --count(*)通计数据 SELECT count(*) FROM ailab_vqc.check_result_201908 as cr JOIN ailab_vqc.voice_tab_201908 as vt ON cr.voice_id=vt.voice_id WHERE vt.biz_model_type= 4 and cr.partition_dt="2019-08-26" --where子式的写法 SELECT vt.called_no,cr.ai_total_label_list,cr.request_id,cr.ai_label_list,cr.partition_dt FROM ailab_vqc.check_result_201908 as cr JOIN ailab_vqc.voice_tab_201908 as vt ON cr.voice_id=vt.voice_id WHERE vt.bsp_org_id in ('20150708121351745f91d3', '20150708130651747bc096', '2015070813072616d94b3b', '201507081307534748251d' ) and vt.call_time_length > 60 AND cr.partition_dt="2019-08-27" --between 子式的写法 select result.request_id, sample.editor_sentence_label_list,result.ai_sentence_label_list,sample.editor_asr_fix from ailab_vqc.check_result_sample sample join ailab_vqc.check_result_201909 result on sample.request_id = result.request_id and sample.paritition_dt='20190902' and result.partition_dt="20190902" and result.check_status=0 and sample_time BETWEEN "2019-09-05 08:00:00.0" and "2019-09-05 18:00:00.0" ---各种嵌套,输出在20190322日,被叫的号码中,截止到20190626,输出成单的号码和对应成单的日期;数据表限制数据在20000以内 select call_no_table.rt_called_no, oi.earliest_order_date from (select rt_called_no from defaultdb.realtime_call_detail where partition_dt = "20190322" and rt_call_time_length > 0 and rt_call_type = "dialout" and rt_product_line in (55,56) group by rt_called_no LIMIT 200000) call_no_table join guessulike.ai_voice oi on call_no_table.rt_called_no = oi.phone where oi.partition_dt = "20190626" and oi.earliest_order_date > "2019-03-22" ---group by的用法,这个相当于去重 select rt_called_no from defaultdb.realtime_call_detail where partition_dt = "20190322" group by rt_called_no ---group by的用法,查找某个部门有多少人 select dept,count(*) as 人数 from emp. group by dept; ---选取name中含有k的记录 SELECT * FROM table_ WHERE name LIKE '%k%';