作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我整天都在忙这个。我玩过很多 MySQL 代码,但我要么无能,要么不太擅长编码。
我有一张 table
name id type amount
=================================
apple 21 cars 67
apple 21 bikes 85
apple 21 skates 557
apple 21 pajs 56
orange 34 bikes 345
orange 34 disks 678
orange 34 cars 234
orange 34 pajs 5678
我想编写一个查询,以这种形式返回表
name id cars bikes skates pajas disks
=========================================
apple 21 67 85 557 56 0
orange 34 234 345 0 5678 678
我真的不知道从哪里开始。抱歉,如果这是菜鸟问题,但 MySQL 有时真的很难概念化。
最佳答案
尝试使用PreparedStatement
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(ID),MAX(case when type = ''',
type,
''' then amount ELSE NULL end) AS ',
type
)
) INTO @sql
FROM table1;
SET @sql = CONCAT('SELECT name, ', @sql, '
FROM table1 GROUP BY name');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
或者,
SELECT name,
MAX(ID) ID,
MAX(case when type = 'cars' THEN amount ELSE NULL end) AS cars,
MAX(case when type = 'bikes' THEN amount ELSE NULL end) AS bikes,
MAX(case when type = 'skates' THEN amount ELSE NULL end) AS skates,
MAX(case when type = 'pajas' THEN amount ELSE NULL end) AS pajas,
MAX(case when type = 'disks' THEN amount ELSE NULL end) AS disks
FROM table1
GROUP BY name;
关于mysql - 可以改革列的表结构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12853516/
我想改革 pig 拉丁成绩。 对于一些 pig 拉丁,让我们说“ dump table1 ”,可以得到以下结果。 (测试1,1.0,Link1 Link2 Link3),在Link1,Link2,Li
我正在寻找一种方便的方法来测试 Reform 的验证基于表单对象。 是否有任何匹配器(比如用于测试 ActiveModel::Validations 的匹配器)来测试 dry-validations
我正在使用 Reform gem 制作一个用于在我的网上商店结帐的表单对象。我有 Checkout 表单,其中包含 Order 模型的属性,该模型与 Address 模型有关联。 问题是 Order
我是一名优秀的程序员,十分优秀!