SQL遍历记录分组

问题描述

我有一个看起来像这样的表

user_id | attr1 | attr2
--------+-------+-------
AAA     | 123   | 345
BBB     | 223   | 567
AAA     | 345   | 477
CCC     | 345   | 234
BBB     | 356   | 123
CCC     | 456   | 477

很明显,记录可以按user_id分组。我想做的是批处理/俱乐部记录user_id,然后通过检索该user_id下的所有记录来遍历该组,以进行进一步处理。

如果想要列表列表,我将user_id分组之后的情况。内部列表将包含表的单独记录,外部列表将包含al user_id的列表。

到目前为止,我已经提出了-

SELECT disTINCT user_id FROM table; =====>将其放入列表

在上面的列表中重复并在下面的查询中执行

SELECT * FROM table where user_id = list[i]

我觉得必须有更好的方法来做到这一点。我正在用Java编写样板代码,如果有帮助,这是Drill查询

解决方法

如何通过user_id对表进行排序,然后一次只检索一行呢?

SELECT t.*
FROM table t
ORDER BY user_id;

在应用程序中,您可以检测到user_id何时更改以进行处理。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...