【问题标题】:1 x chen hyd 2 y bang mum [closed]1 x chen hyd 2 y bang mum [关闭]
【发布时间】:2018-12-03 23:21:36
【问题描述】:
id name add1 add2
1   x   chen    hyd
2   y   bang    mum

我想像这样输出

id name add
1    x  chen
1    x  hyd
2    y  bang
2    y  mum

【问题讨论】:

  • 有什么意义吗?
  • 提示:UNION ALL.
  • 添加行(3,z,dad,dad),并相应调整预期结果。

标签: mysql sql


【解决方案1】:

使用UNION 喜欢:

SELECT id,name,add1 from mytable
UNION
SELECT id,name,add2 from mytable

编辑:为了获得更好的性能,您可以改用 UNION ALL,这会给您相同的结果:

SELECT id,name,add1 from mytable
 UNION ALL
SELECT   id,name,add2 from mytable

【讨论】:

  • 为什么不UNION ALL
  • @jarlh 因为返回的行都是不同的,所以 UNION 和 UNION ALL 的工作方式相同
  • 如果您不需要删除重复项,请使用 UNION ALL,因为它更便宜。
  • @jarlh 是的,你是对的,不认为它基于性能
猜你喜欢
  • 2012-10-03
  • 2018-08-29
  • 1970-01-01
  • 1970-01-01
  • 2013-02-14
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多