我想檢查4DB 中最后一行的值。如果這 4 行具有特定值,請執行某些操作。
所以表格看起來像這樣:
______________
| id | value |
|____|_______|
| 1 | a |
|____|_______|
| 2 | a |
|____|_______|
| 3 | a |
|____|_______|
| 4 | a |
|____|_______|
| 5 | a |
|____|_______|
| 6 | a |
|____|_______|
這是一個要測驗的小提琴:http : //sqlfiddle.com/#!9/1064b3/1
我可以運行以下查詢SELECT * FROM testing ORDER BY id DESC LIMIT 4,然后檢查 PHP:
//Count number of `a` from last 4 rows
$count = 0;
foreach($rows as $row){
if($row['value'] == 'a'){
$count ;
}
}
//If last 4 rows value = 'a'
if($count == 4){
//Do something
}
僅當 4 行值 =a或回傳 true 或 false 時,SQL 是否有更好的方法來獲取行?
uj5u.com熱心網友回復:
嘗試這個:
SELECT COUNT(a.value)
FROM(
SELECT value
FROM testing
ORDER BY id DESC LIMIT 4
) AS a
WHERE a.value = 'a'
如果回傳 3,則為 TRUE(您有一個不等于 A),否則為 FALSE。
uj5u.com熱心網友回復:
有多種方法,您可以使用簡單的聚合來計算行數:
select case when
count(case when value='a' then 1 end)=Count(*)
then 'true' else 'false'
end Last4AreA
from (
select value
from testing
order by id desc
limit 4
)x
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/363142.html
