1
crazytudou May 31, 2021
select * 用 group by ?没明白你想分啥组。。。
|
2
iyaozhen May 31, 2021
只会显示 proc 组中 logtime 倒序后的第一条,并不是全部都按 logtime 倒序。你需要再加个查询排下序
|
3
setsunakute May 31, 2021
SELECT *,(select logtime from `testyyy`.`DLLog` as a where a.proc = b.proc order by logtime desc limit 1) FROM `testyyy`.`DLLog` as b GROUP BY `proc`;
那你应该是需要这样的效果 |
4
7Qi7Qi May 31, 2021
select proc, max(logtime) from `testyyy`.`DLLog` group by proc order by max(logtime) desc 这样?
|
5
justseemore May 31, 2021
😂 top k 问题?
|
6
menghuan May 31, 2021
3 搂正解
|
7
zhangysh1995 May 31, 2021
考虑一下 window function,用 partition by proc 然后排序
|
8
lshero May 31, 2021
rank over partition
|
9
lichao May 31, 2021
这是 MySQL 比较坑的地方,严格的数据库这里应该报错
|
11
rockyliang May 31, 2021
不是很懂你想怎样排序,是每个分组都留下 logtime 最新的那一行,然后整个结果集再按 logtime DESC 排序?
|
12
uti6770werty OP @setsunakute 我好像看懂了意思,只是这个要出结果要很久,我这里是 70 多秒才能出来。。。
@rockyliang 是的,每个分组留下 logtime 最新的那一行,然后按 logtime DESC 排序,人话就是:要看每个 proc,最后的 logtime 的整行全部列的内容(*)。。。 |
13
tame619 May 31, 2021 via iPhone
|
14
tame619 May 31, 2021 via iPhone
inner join
|
15
keepeye May 31, 2021
不要用 order by,select max(logtime)
|
16
tame619 May 31, 2021 via iPhone
直接在 max 完,套一层 select,不用 join 我太蠢了
|
17
onhao May 31, 2021
https://wuhao.pw/archives/178/
当 group by 遇上 order by 后总感觉语句是对的,然而结果却... |
18
ricadro May 31, 2021 via iPhone
mysql 没有开窗函数 只能子查询查询出最新的时间然后在 groupby
|
19
egfegdfr Jun 1, 2021
group by 和 order by 不能同时使用,需要拆开放到子查询
|
21
lepig Jun 1, 2021
好像 select*,max(logtime)就可以。之前做过一个类似的需求
|
22
zhaofq Jun 1, 2021
TOP K 问题
8.0 版本直接用开窗函数 低版本用子查询 MySQL 不支持 order by 和 group by 同时使用实现组内排序 |