我想從 3 列中計算多個值并使用 PHP mysqli 進行降序排序,但我做不到。
| 姓名1 | 姓名2 | 姓名3 |
|---|---|---|
| 麥克風 | 杰克 | 玫瑰 |
| 杰克 | 麥克風 | 瑪麗 |
| 杰克 | 瑪麗 | 約翰 |
期望輸出:
jack 3
mike 2
mary 2
rose 1
John 1
我的代碼:
$query = "select count(*) as c from work" ;
$result = $con->query($query);
$count = $result->fetch_object()->c;
uj5u.com熱心網友回復:
用于UNION將它們全部放入一個列中。然后使用COUNT(*)和GROUP BY:
$query = "
SELECT name, COUNT(*) AS c
FROM (
SELECT name1 AS name
FROM work
UNION ALL
SELECT name2 AS name
FROM work
UNION ALL
SELECT name3 AS name
FROM work
) AS x
GROUP BY name
ORDER BY c DESC";
$result = $con->query($query);
while ($row = $result->fetch_object()) {
echo "$row->name $row->c<br>";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346083.html
上一篇:從查詢中獲取價值
