• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LOFLY
终其一生,编织快乐
博客园    首页    新随笔    联系   管理    订阅  订阅

SQLite-DISTINCT

SQLite DISTINCT

摘要:在本教程中,您将学习如何使用 SQLite SELECT DISTINCT 子句删除结果集中的重复行。

SELECT DISTINCT	select_list
FROM table;

SQLite 将NULL值视为重复项。如果对具有 NULL 值的列使用 DISTINCT 子句,SQLite 将保留一行 NULL 值。

SQLite SELECT DISTINCT例子

使用 customer表来说明。

image

假设您想知道客户所在的城市,可以使用 SELECT 语句从客户表的城市列中获取数据,如下所示:


SELECT city
FROM customers
ORDER BY city;

image

同一个城市名会重复显示。 为了让城市名只显示一次,可以使用 DISTINCT子句。

SELECT DISTINCT city
FROM customers
ORDER BY city;

image

SQLite 在多列上使用SELECT DISTINCT

以下语句查询顾客的所属的国家和城市。

SELECT
	city,
	country
FROM
	customers
ORDER BY
	country;

image

图中结果集包含重复的城市和国家。

要删除城市和国家的重复项,你需要对 city 和 country 两个字段都应用 DISTINCT 子句,如下面的查询所示:


SELECT DISTINCT
  city,
  country
FROM
  customers
ORDER BY
  country;


image

SQlite使用city和country的组合来评估重复性。

SQLite SELECT DISTINCT 与 NULL 示例

这个语句从 customers 表中返回了客户的公司名字。

SELECT 
  company
FROM 
  customers;

他会返回包含NULL值的59行记录。

如果你应用DISTINCT语句,那么只会返回1条NULL值的行记录。


SELECT DISTINCT
  company
FROM
  customers;

image

这个语句的结果返回11行,其中有1行是NULL值。

posted @ 2024-07-18 10:20  编织快乐  阅读(82)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3