我在11年级有下表。 table1
:
id col1 col2 col3 col4
NCT00000374 Drug olanzapine olanzapine olanzapine
NCT00000390 Drug imipramine hydrochloride imipramine hydrochloride imipramine hydrochloride
NCT00000390 Drug imipramine hydrochloride imipramine hydrochloride imipramine
NCT00000412 Drug placebo calcitriol placebo calcitriol calcitriol
我想获取每行具有最大长度值的行 (id, col1, col2, col3)
.
所需输出为:
id col1 col2 col3 col4
NCT00000374 Drug olanzapine olanzapine olanzapine
NCT00000390 Drug imipramine hydrochloride imipramine hydrochloride imipramine hydrochloride
NCT00000412 Drug placebo calcitriol placebo calcitriol calcitriol
我尝试了以下查询,但到目前为止没有成功:
select * from table1
where length(col4) = max(length(col4))
group by id, col1, col2, col3
order by id
1条答案
按热度按时间3xiyfsfu1#
为…辩护
DISTINCT ON
:最简单,每行只有几行
(id, col1, col2, col3)
通常也是最快的。详细说明:按组选择每组中的第一行?
对于大表和每组多行,有(更)快速的技术:
按查询优化分组以检索每个用户的最新行