【发布时间】:2014-05-13 13:43:35
【问题描述】:
我正在尝试获取具有连续值的行数的最高计数。例如,如果下面是一张表格,我计算了连续“A”的总数,我会得到 5 个。
- 一个
- B
- B
- 一个
- 一个
- 一个
- 一个
- 一个
- 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 查询中执行此操作的更简洁的方法?
【问题讨论】:
-
你的意思是连续,对吧?
-
糟糕,我愿意 - 谢谢