私のテーブルのようになります。SELECT COUNT
id type value
1 type1 Good
2 type1 Bad
3 type1 Match
4 type2 Good
5 type2 Bad
6 type2 Match
7 type3 Good
8 type3 Bad
9 type3 Match
各「タイプ」は3つの可能な値のオプションが
現在、私はデータ
$result = mysql_query("SELECT type, value, COUNT(*) FROM data GROUP BY type,value ORDER BY COUNT(*) DESC");
echo "<table border='1'>";
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo '<td><FONT SIZE=3 COLOR=BLACK> ' . $row['type'] . ' </FONT></td>';
echo '<td><FONT SIZE=3 COLOR=BLACK> ' . $row['value'] . ' </FONT></td>';
echo '<td><FONT SIZE=4 COLOR=GREEN> ' .$row['COUNT(*)'] . '</FONT></td>';}
echo "<tr>";
echo "</table>";
をプレビューするために、このコードを使用しています、3列3列に表示されたテーブルの結果(3 * 3 * 3)
テーブルに表示しようとしていますこのような4列のみ3行 で:
type COUNT "Good" COUNT "Bad" COUNT "Match"
type1 1 1 1
type2 1 1 1
type3 1 1 1
と私はそれを行う方法がわからないです。
どうすればいいですか?その後、型に基づいて
SELECT type,
SUM(CASE WHEN type='Good' THEN 1 ELSE 0 END) AS good,
SUM(CASE WHEN type='Bad' THEN 1 ELSE 0 END) AS bad,
SUM(CASE WHEN type='Match' THEN 1 ELSE 0 END) AS match
FROM data
GROUP BY type
この意志グループのすべての値がどのくらいあるか、各値のうち見つけることSUM
を使用します。
CASE
と
SUM
の組み合わせを使用することができます
あなたのおかげでありがとう はい、その作業は私のように必要です – AllCapone1912