SELECT临时表,SET NULL作为重复值

时间:2019-04-08 08:43:16

标签: mysql

我有一个临时表,该表在sale_val列中具有重复的值。请注意,8764173.12sale_id120重复。无论如何,我可以将sale_val中的重复值之一设置为NULL0.00吗?

我的临时表:

enter image description here

例如,我希望结果是这样的:

sale_id | buy_val | sale_val   |
120     |   11.00 | 8764173.12 |
120     |   55.00 |  0.00      |

我的临时表查询:

SELECT
  sale_id,
  buy_val,
  sale_val
FROM
  table1

请先帮助并感谢

1 个答案:

答案 0 :(得分:0)

您可以尝试使用GROUP BY创建临时表。 在这里,我使用MIN作为汇总函数来获取买卖价,但是您应该使用aggregate function来表达您想要应用的逻辑。 也来看看GROUP_CONCAT函数:

CREATE TEMPORARY TABLE temp_t AS
SELECT sale_id, min(buy_val) AS buy_val ,min(sal_val) AS sal_val
FROM   table1
GROUP BY sale_id