SQL计数最长真序列

SQL计数最长真序列,sql,postgresql,count,Sql,Postgresql,Count,我有一个问题,我想做一个正确答案最多的用户排名列表 我把答案保存到一个表中,如果答案是真的,我保证是真的,如果不是,我保证是假的 现在我要数一数最长的真序列,对吗?我找到了函数ROW\u NUMBER(),但我不理解它。因此,表名resultat带有 列(用户id、日期、已解决(布尔值)) 我现在需要这个SQL。谢谢你为我抽出时间:)你需要这样的东西: SELECT user_id, COUNT(*) AS solved_total FROM resultat WHERE solved = tr

我有一个问题,我想做一个正确答案最多的用户排名列表

我把答案保存到一个表中,如果答案是真的,我保证是真的,如果不是,我保证是假的

现在我要数一数最长的真序列,对吗?我找到了函数
ROW\u NUMBER()
,但我不理解它。因此,表名
resultat
带有 列
(用户id、日期、已解决(布尔值))


我现在需要这个SQL。谢谢你为我抽出时间:)

你需要这样的东西:

SELECT user_id, COUNT(*) AS solved_total FROM resultat WHERE solved = true GROUP BY user_id ORDER BY solved_total DESC;

请注意,这是纯SQL,与Postgre无关。

将示例数据和预期输出添加到问题中,因此f.e用户id已解决1 true 1 true 1 false 2 true 2 true 2 true 2 true 2 false 1 true 1错误输出:用户2(一行有4个正确答案)用户1(一行有3个正确答案,你想找到正确答案最多的用户还是连续正确答案最多的用户?我的问题是,我不想计算所有的正确答案。我想得到最长的正确答案行。如果我有6个正确答案,然后我犯了一个错误,我的计数器是6,所以如果我有8个答案就在一排,它将是8而不是14