2013-07-02 40 views
0

我想在phpMyAdmin中執行此代碼。在 '字段列表'MySql#1054錯誤,同時通過phpMyAdmin執行它

SELECT 
    CONCAT('SELECT year2,', 
    GROUP_CONCAT(sums), 
    ' FROM yourtable GROUP BY year2') 
FROM (
SELECT CONCAT('SUM(name=\'', name, '\') AS `', name, '`') sums 
FROM yourtable 
GROUP BY name 
ORDER BY COUNT(*) DESC 
) s 
INTO @sql; 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 

實施退房fiddle未知列 '年' - 但是,我發現了以下錯誤

#1054。

如何解決這一問題? 任何想法如何在PHP腳本?

回答

1

Year是MySQL中的已知物體,如果你有一個叫「年」專欄,用背勾「'」 ::

SELECT 
    CONCAT('SELECT `year`,', 
    GROUP_CONCAT(sums), 
    ' FROM yourtable GROUP BY `year`') 
FROM (
SELECT CONCAT('SUM(name=\'', name, '\') AS `', name, '`') sums 
FROM yourtable 
GROUP BY name 
ORDER BY COUNT(*) DESC 
) s 
INTO @sql; 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
+0

+1打我吧:) – Stephan

+0

試試@斯蒂芬:哈哈:-) –