我有一张表格如下:
col1 col2 col3 col4 --------------------------------------- B1 01 ABC 001 B1 02 ABC 001 B1 03 ABC 001 B1 04 ABC 002 B1 05 ABC 002 B1 06 ABC 003 B1 07 ABC 003 B1 08 ABC 004 B1 09 ABC 004 B1 01 DEF 001 B1 02 DEF 001 B1 03 DEF 002 B1 04 DEF 002 B1 05 DEF 002 B1 06 DEF 003 B1 07 DEF 004 B1 08 DEF 004 B1 09 DEF 004
我想要的是过滤表。对于每个不同的col3值,它应该具有来自col4的不同元素,并且必须由col2选择的那些元素应该是col2的最小值。让我表达我想要的东西:
col1 col2 col3 col4 --------------------------------------- B1 01 ABC 001 B1 04 ABC 002 B1 06 ABC 003 B1 08 ABC 004 B1 01 DEF 001 B1 03 DEF 002 B1 06 DEF 003 B1 07 DEF 004
有没有办法在SQL中实现这个?顺便说一下,我正在使用SQLite。我不想编写Java代码来迭代查询结果的每一行。
答案 0 :(得分:1)
select col1, min(col2), col3, col4
from mytable
group by col1, col3, col4
order by col1, col3, col4