gpt4 book ai didi

php - SQL:获取具有相同值的连续行的最高计数的方法?

转载 作者:行者123 更新时间:2023-11-29 06:38:52 25 4
gpt4 key购买 nike

我正在尝试获取具有连续值的行数的最大值。例如,如果下面是一个表格,我计算了连续“A”的总数,我会得到 5。

  1. A
  2. B
  3. B
  4. A
  5. A
  6. A
  7. A
  8. A
  9. B

我正试图找到一种在 SQL 中执行此操作的巧妙方法。我正在尝试用 PHP 来做,但很挣扎,并且创建了一个困惑的解决方案:

   $streaksql = "SELECT * FROM `mytable`";
$streaksql = $modx->query($streaksql);

$outcomecounter = 0;
$highestoutcome = 0;

while ($streak = $streaksql->fetch(PDO::FETCH_ASSOC)) {

$outcome = $row['outcome'];

if($outcome == 'A'){
$outcomecounter = $outcomecounter +1;

if($outcomecounter > $highestoutcome){
$highestoutcome = $outcomecounter;
}

}
else {
$outcomecounter = 0;
}
};//WHILE

echo $highestoutcome;

我想知道是否有人知道在 SQL 查询中执行此操作的更简洁的方法?

最佳答案

试试这个逻辑,

select top 1 col1 from myTable
group by col1
order by count(col2) desc

关于php - SQL:获取具有相同值的连续行的最高计数的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22808668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com