sql数据库多个DISTINCT读取

时间:2014-04-10 20:35:54

标签: sql sqlite

我有一个包含多个列的数据库。

我正在开发自己的过滤器,因此用户可以搜索数据库。我想要做的是从数据库中的每一列获取不同的条目。

DISTINCT适用于一列。所以sql语法是SELECT DISTINCT COLUMN FROM TABLE1

我正在做的事情是SELECT DISTINCT COLUMN FROM TABLE1

比另一个读物是SELECT DISTINCT COLUMN1 FROM TABLE1 比另一个读数是SELECT DISTINCT COLUMN2 FROM TABLE1

我只是想知道是否有更好的方法。或者我可以将它们组合成相同的语法

系统的设计是页面加载,它从数据库加载所有行并填充表列表。同时,它从每列获取所有不同的条目。这些数据以下拉列表显示,因此无法对数据进行编辑以查看数据。

感谢

2 个答案:

答案 0 :(得分:1)

当然,您可以在一个查询中完成所有操作:

SELECT DISTINCT MyColumn FROM MyTable
UNION
SELECT DISTINCT MyColumn2 FROM MyTable
UNION
SELECT DISTINCT MyColumn3 FROM MyTable
(etc.)

如果在多列中出现值时需要重复值,请使用UNION ALL

答案 1 :(得分:0)

你当然可以在多列上使用distinct,但它可能不是你想要的。

select distinct col1,col2 from MyTable

MyTable的位置:

|col1|col2|col3|
----------------
|   a|   b|   c|
|   a|   b|   d|
|   a|   c|   c|
|   b|   c|   f|

这将返回结果:

|col1|col2|
-----------
|   a|   b|
|   a|   c|
|   b|   c|

修改:由于您要填充下拉列表,因此您可能希望一次选择一列。