gpt4 book ai didi

php - 获取具有该行最大值的列和行

转载 作者:行者123 更新时间:2023-11-30 01:20:02 25 4
gpt4 key购买 nike

table: |name|US|IN|SA|CHN|AU|EU|.......
|john|0 |12|2 |0 |1 |0 |.......
|andy|20|17|2 |10 |1 |0 |.......

我有一个包含 200 列的表,其中包含所有国家/地区。其中包含来自每个国家/地区的点击次数的整数条目。为了在地理图表中显示它们,我想按如下方式解析这些值:

输出:

IN,12
SA,2
AU,1

这样我就想排除那些拥有0次点击并按用户名john分组的国家/地区

这是我的方法,但它不完整..

 $query = "SELECT * FROM `countries`";


$result = mysql_query("SHOW COLUMNS FROM `countries`.`graph_geo_table` WHERE Field NOT IN ('Name')");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}

if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {

echo $row[Field];

}
}

最佳答案

你可以这样做

SELECT column_name country,
CASE column_name
WHEN 'US' THEN us
WHEN 'IN' THEN `in`
WHEN 'SA' THEN sa
WHEN 'CHN' THEN chn
WHEN 'AU' THEN au
WHEN 'EU' THEN eu
END clicks
FROM Table1 t CROSS JOIN
(
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table1'
AND TABLE_SCHEMA = SCHEMA()
AND COLUMN_NAME <> 'name'
) c
WHERE name = 'john'
HAVING clicks > 0
ORDER BY clicks DESC

输出:

| COUNTRY | CLICKS ||---------|--------||      IN |     12 ||      SA |      2 ||      AU |      1 |

这里是SQLFiddle 演示

关于php - 获取具有该行最大值的列和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18652865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com