SQL 列合并和聚合函数

标签 sql mysql database union aggregate

我有一个简单的表,有两列(两列感兴趣,加上一个ID)...我有一个ajax搜索,它只是寻找关键字...然后将其发送到我的真实搜索.. .ajax 搜索并不关心它们是什么,但它们需要是不同的...

如何将两列合并在一起:

City, Country

Krakow, Poland
Warsaw, Poland
Austin, USA
New York, USA
Prague, Czech Republic

这样我就能得到

Keyword, Sideinfo

Krakow, Poland
Warsaw, Poland
Austin, USA
Prague, Czech Republic
USA, Country (only once)
Poland, Country
Czech Republic, Country

我尝试做 UNION,但我不确定如何做 WHERE LIKE 'keyword%'

希望这是有道理的......

最佳答案

试试这个。

SELECT Keyword, SideInfo
FROM
(
    SELECT
        DISTINT City as Keyword, Country as SideInfo
    FROM Table

    UNION
    SELECT 
        DISTINCT Country, 'Country'
    FROM Table
) AS InnerQuery
Where Keyword LIKE '%blah%'

关于SQL 列合并和聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/955101/

相关文章:

mysql - 在插入期间从其他表中选择数据?

mysql - 在一个查询中按特定字段选择所有可用组合

sql - 使用 JDBC 从多个表中选择时如何识别列?

python - Django 上的 Mysql 错误

node.js + mysql池中释放后的mysql连接

mysql - 哪个 MySQL 查询更快?

java - Android SQLite 更新行不起作用

mysql - SQL查询: Select all references after a specific item

mysql - Like 查询中的规范

php - INSERT INTO 不同数据库表中的不同字段