[英]Count and display multiple mysql row values in different columns for PHP echo
[英]Count records from different columns (MySQL/php)
我有這樣的桌子
id | block1 | block2 | block3
-----------------------------------------------
1 | John | John |
2 | Mark | |
3 | | Frank | Frank
我如何計算表中有多少約翰,馬克和弗蘭克? ES。
John - 2
Mark - 1
Frank - 2
我使用下面的查詢,但僅適用於一列,我不知道所有列的結果如何。 我認為這是一個有用的查詢,因為我閱讀的結果可能是最后一個月或一年
SELECT block1,
COUNT(*) AS total
FROM table
GROUP BY block1
ORDER BY total DESC;
謝謝(對不起,我的英語)
您可以使用UNION ALL
取消透視表,然后應用分組:
SELECT block, COUNT(*) AS 'total'
FROM (
SELECT block1 AS block
FROM mytable
UNION ALL
SELECT block2
FROM mytable
UNION ALL
SELECT block3
FROM mytable) AS t
GROUP BY block
分別選擇列,然后使用UNION
合並它們。 然后, COUNT
他們。 你可以試試這個-
SELECT col_block, COUNT(col_block) FROM (
(SELECT block1 col_block,
FROM table)
UNION ALL
(SELECT block2 col_block,
FROM table)
UNION ALL
(SELECT block3 col_block,
FROM table)) tbl
GROUP BY col_block
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.