gpt4 book ai didi

mysql - 在列中显示一次 GroupBy 公共(public)值

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

我正在尝试从第一个表中获取第二个表。我正在按一些数据进行分组,并且只想显示重复值一次。

Aircode  FlightNumber Locator Title
A01 F01 A Miss
A01 F01 A Mr
A01 F01 B Miss
A01 F01 B Miss
A01 F02 A Mr
A01 F02 A Mr
A01 F02 C Mr
A02 F01 A Mr


Aircode FlightNumber Locator Title
A01 F01 A Miss
Mr
B Miss
Miss
F02 A Mr
Mr
C Mr
A02 F01 A Mr

我无法为此搜索合适的结果。不确定MySQL 中是否有任何关于此的问题。

我找到了 MSSQL 的链接,但我不想让查询变得那么复杂。该问题的链接是 Display the record in column for grouping only once

这是一个相关的问题。

这个可以做吗?

欢迎任何建议。

最佳答案

当新行具有旧值时,您可以使用字段名称中的变量返回null来创建第二个表:

 SET @aircode_var = '' , @flight_var='' , @locator_var='' ;
SELECT if(@aircode_var=Aircode, null,@aircode_var:=Aircode),
if(@flight_var=FlightNumber , null ,@flight_var:=FlightNumber ),
if(@locator_var=Locator , null ,@locator_var:=Locator ),
Title
FROM tablename
group by Aircode , FlightNumber , Locator

结果必须如下所示:

 A01    F01     A       Miss
null null null Mr
null null B Miss
....

注意::=为变量分配新值,=对于IF是逻辑的。

(*) 由于多个运行查询中的错误以及丢失的结果,查询在第一行中使用新的 SET 命令进行了更新。

关于mysql - 在列中显示一次 GroupBy 公共(public)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42158379/

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