我見下表:如何轉動查詢在MySQL
Year, Name, Revenue, Qty
我想結果表
名稱,Revenue2012,Qty2012,Revenue2013,Qty2013
如何在Sql for MySql中完成?
感謝
我見下表:如何轉動查詢在MySQL
Year, Name, Revenue, Qty
我想結果表
名稱,Revenue2012,Qty2012,Revenue2013,Qty2013
如何在Sql for MySql中完成?
感謝
MySQL不具有旋轉功能,但你可以使用聚合函數CASE表達式得到的結果:
select name,
sum(case when year = 2012 then revenue else 0 end) revenue2012,
sum(case when year = 2012 then qty else 0 end) qty2012,
sum(case when year = 2013 then revenue else 0 end) revenue2013,
sum(case when year = 2013 then qty else 0 end) qty2013
from yourtable
group by name
精彩,謝謝它像一個魅力!謝謝! – stighy
如果你正在使用PHP但是,您可以顯示它你想要:
$table=mysqli_query($con,"
SELECT *
FROM table
");
echo "<table>
<tr>
<th>Name</th>
<th>Revenue2012</th>
<th>Qty2012</th>
<th>Revenue2013</th>
<th>Qty2013</th>
</tr>";
while($row = mysqli_fetch_array($table))
{
echo "<tr>";
echo "<td>". $row['Name'] . "</td>";
echo "<td>". $row['Revenue'] . $row['Year'] . "</td>";
echo "<td>". $row['Qty '] . "</td>";
echo "<td>". $row['Revenue'] . $row['Year'] . "</td>";
echo "<td>". $row['Qty '] . "</td>";
echo "</tr>";
}
echo "</table>";
或任何適合您的需求。
OP明確指出:「*如何在** Sql ** for MySql?*」(重點是我的)。 –
你嘗試過什麼嗎? SO中涵蓋了這個概念。只是谷歌它。 – AgRizzo
由於您的所有列都可以在設計時使用,因此可以使用帶CASE條款的交叉表。 –
select * from table pivot(max(qty)for revenue IN(...))as vijj;在sql-server –