1、找出時間大於2018-12-17
的所有內容
select * from table where "time" > date('2018-12-17')
與關係型數據庫不同的是完全不同類型的不可以比較,類似的纔可以比較,關係型數據庫的
2、針對完全不同類型的進行比較,也可以使用cast函數,用法:cast(value as type)
比如 select * from table where "time" > cast('2018-12-17' as date) limit 100,
3、表示日期的函數:
(1)now() 精確到今天的時分秒
(2) current_date 精確到今天的年月日
(3) current_date - interval '1' day, 精確到昨天的年月日
(4)日期類型不能與字符串比較,運行錯誤,需要顯式轉換
(5)字符串格式化成日期格式
date_parse('2018-12-17 12:12:12', '%Y-%m-%d %H:%i:%s'),
cast('2018-09-09' as date),
cast('2018-09-09 12:12:12' as timestamp),
(6) 日期轉指定格式化字符串
date_format(now(), '%Y-%m-%d %H:%i:%s')
4、一些presto在實際上的應用
比如:某段時間內 獲取金幣數的人數分佈,0~1000金幣的用戶數 有多少人 1001~5000金幣的有多少人
SELECT count(1)
,col
FROM (
SELECT "user_id"
,CASE
WHEN total< 500
THEN '0-500'
WHEN total>= 500
AND total < 1000
THEN '500-1000'
ELSE '>1000'
END col
FROM (
SELECT "user_id"
,sum(count) AS total_coin
FROM event
WHERE "date" >= '2018-11-01'
AND "event" = 'consume_coin'
GROUP BY "user_id"
) a
) b
GROUP BY col
結果如下:
轉載來自:https://blog.csdn.net/c13232906050/article/details/82623028 ,新加了一些生活中了一些應用