表結構
id node create_time user
111 lr 15:20:10 a
111 lr 15:30:20 b
111 lr 15:40:30 c
需求,按id和node分組,找出create_time最大的user,例如這道題最后要的結果是
id node user
111 lr c
覺得應該不難,寫半天沒寫出來,求大神幫忙。
uj5u.com熱心網友回復:
select a.id,a.node,a.user from (select id,node,max(create_time),user from 表 group by id,node) a
uj5u.com熱心網友回復:
不行啊,子查詢分組時不帶user的話就查不出來user,帶user又會分成三組。
uj5u.com熱心網友回復:
可以這樣的:
SELECT * FROM (
SELECT T.*, MAX(CREATE_TIME) OVER(PARTITION BY ID,NODE) MAX_CREATE_TIME FROM T_TABLE
)WHERE CREATE_TIME = MAX_CREATE_TIME
select * from table t where t.create_time=(
select max(t2.create_time) from table t2 )
uj5u.com熱心網友回復:
感覺不太對啊,
一、select t.*, t.rowid from ZY_TEST1 t;這張表的資料是:
1 111 lr 2017/8/1 a AAAzIQAAEAAIUznAAA
2 111 lr 2017/8/9 b AAAzIQAAEAAIUznAAB
3 111 lr 2017/8/10 c AAAzIQAAEAAIUznAAC
4 111 lr 2017/8/12 c AAAzIQAAEAAIUznAAD
5 111 lr 2017/8/12 c AAAzIQAAEAAIUznAAE
二、SELECT * FROM (
SELECT T.*, MAX(CREATE_TIME) OVER(PARTITION BY IDOCID,NODE) MAX_CREATE_TIME FROM ZY_TEST1 T),這個陳述句查出來的資料并沒有分組啊
1 111 lr 2017/8/1 a 2017/8/12
2 111 lr 2017/8/9 b 2017/8/12
3 111 lr 2017/8/12 c 2017/8/12
4 111 lr 2017/8/12 c 2017/8/12
5 111 lr 2017/8/10 c 2017/8/12
三、最后,能查出來資料是因為WHERE條件中的MAX啊,我的資料查出來的是這樣
1 111 lr 2017/8/12 c 2017/8/12
2 111 lr 2017/8/12 c 2017/8/12
uj5u.com熱心網友回復:
select * from
(select id,node,create_time,user,
rank()over(partition by id,node order by create_time desc) mm from t_table) a
where a.mm=1
SELECT ID,NODE,SUBSTR(MAX(CREATE_TIME||USER),9,1)
FROM T
GROUP BY ID,NODE
uj5u.com熱心網友回復:
select * from
(select id,node,create_time,user,
row_number() over(partition by id,node order by create_time desc) mm from t_table) a
where a.mm=1
用 row_number() 以避免重復資料
uj5u.com熱心網友回復:
可以這樣的:
SELECT * FROM (
SELECT T.*, MAX(CREATE_TIME) OVER(PARTITION BY ID,NODE) MAX_CREATE_TIME FROM T_TABLE
)WHERE CREATE_TIME = MAX_CREATE_TIME
感覺不太對啊,
一、select t.*, t.rowid from ZY_TEST1 t;這張表的資料是:
1 111 lr 2017/8/1 a AAAzIQAAEAAIUznAAA
2 111 lr 2017/8/9 b AAAzIQAAEAAIUznAAB
3 111 lr 2017/8/10 c AAAzIQAAEAAIUznAAC
4 111 lr 2017/8/12 c AAAzIQAAEAAIUznAAD
5 111 lr 2017/8/12 c AAAzIQAAEAAIUznAAE
二、SELECT * FROM (
SELECT T.*, MAX(CREATE_TIME) OVER(PARTITION BY IDOCID,NODE) MAX_CREATE_TIME FROM ZY_TEST1 T),這個陳述句查出來的資料并沒有分組啊
1 111 lr 2017/8/1 a 2017/8/12
2 111 lr 2017/8/9 b 2017/8/12
3 111 lr 2017/8/12 c 2017/8/12
4 111 lr 2017/8/12 c 2017/8/12
5 111 lr 2017/8/10 c 2017/8/12
三、最后,能查出來資料是因為WHERE條件中的MAX啊,我的資料查出來的是這樣
1 111 lr 2017/8/12 c 2017/8/12
2 111 lr 2017/8/12 c 2017/8/12
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......