我有两列说时间(HH:MM:SS)格式和message(String)我想做的是使用不同的消息来订购,但是由于我有时间列,所以我仍然会重复
time message
10:00:01 hi
10:00:02 hi
预期查询应返回
time message
10:00:01 hi
或
time message
10:00:02 hi
只要消息是其中之一,因为它们是相同的
我已经尝试过了,但这没有用。这有可能实现吗?
select distinct time as time
message as a message
from `table_name`
group by message, time
答案 0 :(得分:2)
希望我理解您的问题,可能需要一点澄清(不确定您的问题是什么或意味着什么)。
无论如何,这是您要查找的SQL:
select message as message,
time as time
from `table_name`
group by message
order by message desc, time desc
答案 1 :(得分:1)
以下是用于BigQuery标准SQL
#standardSQL
SELECT
MIN(time) AS time,
message
FROM `project.dataset.table_name`
GROUP BY message
-- ORDER BY time
您可以使用以下问题中的示例数据来玩游戏
#standardSQL
WITH `project.dataset.table_name` AS (
SELECT '10:00:01' time, 'hi' message UNION ALL
SELECT '10:00:02', 'hi'
)
SELECT
MIN(time) AS time,
message
FROM `project.dataset.table_name`
GROUP BY message
-- ORDER BY time
这会产生
Row time message
1 10:00:01 hi
您可以使用MAX
代替MIN
来产生以下结果
Row time message
1 10:00:02 hi