SQL 用于显示唯一值的语句
SQL statement for displaying unique values
下面是我的table中的数据:
TABLE:
abc-ac
abc-dc
aax-i
bcs-o-dc
ddd-o-poe-dc
我需要编写一个查询,结果将只显示唯一的条目:
abc-ac
aax-i
bcs-o-dc
ddd-o-poe-dc
所以基本上,由于前两个条目以 "abc" 开头,因此应将其视为一个条目并显示。
谢谢。
如果您对它显示的两个 abc-*
记录中的哪一个不挑剔,您可以使用此:
SELECT f1 FROM mytable GROUP BY substring_index(f1, '-', 1)
substring_index()
函数会将您字段中的值拆分为 -
和 return 第一位。所以基本上你的记录只按第一部分分组。这是我们可以利用 MySQL 奇怪的 GROUP BY 行为的少数情况之一,它允许您从分组依据中省略非聚合字段。
下面是我的table中的数据:
TABLE:
abc-ac
abc-dc
aax-i
bcs-o-dc
ddd-o-poe-dc
我需要编写一个查询,结果将只显示唯一的条目:
abc-ac
aax-i
bcs-o-dc
ddd-o-poe-dc
所以基本上,由于前两个条目以 "abc" 开头,因此应将其视为一个条目并显示。
谢谢。
如果您对它显示的两个 abc-*
记录中的哪一个不挑剔,您可以使用此:
SELECT f1 FROM mytable GROUP BY substring_index(f1, '-', 1)
substring_index()
函数会将您字段中的值拆分为 -
和 return 第一位。所以基本上你的记录只按第一部分分组。这是我们可以利用 MySQL 奇怪的 GROUP BY 行为的少数情况之一,它允许您从分组依据中省略非聚合字段。