目录

  • 学习源
  • SQL first() 函数
  • first()函数在其他数据库中的实现
    • SQL Server
    • MySQL
    • Oracle
  • 示例数据
  • 使用

学习源

  • 简单教程
    • https://www.twle/l/yufei/sql/sql-basic-func-first.html
  • 菜鸟教程
    • https://www.runoob/sql/sql-func-first.html

SQL first() 函数

SQL 中的 first() 函数返回指定的列中第一个记录的值

SELECT FIRST(column_name) FROM table_name;

注意:只有 MS Access 支持 FIRST() 函数

虽然其它数据库中没有实现该函数,不过我们我们可以使用 LIMIT 语句达到同样的效果

first()函数在其他数据库中的实现

SQL Server

SELECT TOP 1 column_name FROM table_name;

例如:

SELECT TOP 1 lesson_name FROM lesson_views ORDER BY views DESC;

MySQL

SELECT column_name FROM table_name LIMIT 1;

例如:

SELECT lesson_name FROM lesson_views ORDER BY views DESC LIMIT 1;

Oracle

SELECT column_name FROM table_name WHERE ROWNUM <=1;

例如:

SELECT lesson_name FROM lesson_vies ORDER BY views DESC WHERE ROWNUM <=1;

示例数据

CREATE DATABASE IF NOT EXISTS hardy_db default character set utf8mb4 collate utf8mb4_0900_ai_ci;

USE hardy_db;

DROP TABLE IF EXISTS lesson;

CREATE TABLE lesson (
    id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name varchar(32) default '',
    views int(11) NOT NULL default '0',
    created_at DATETIME
);

INSERT INTO lesson(id, name, views, created_at) VALUES
(1, 'Python 基础教程',981,'2017-04-18 13:52:03'),
(2, 'Scala 基础教程',73,'2017-04-18 16:03:32'),
(3, 'Ruby 基础教程',199,'2017-05-01 06:16:14');

使用

MySQL中使用

  1. 下面的 SQL 语句读取 lesson 表中浏览量最多的课程 ( lesson_name )

    SELECT name FROM lesson ORDER BY views DESC LIMIT 1;
    

    运行结果如下:

    mysql> SELECT name FROM lesson ORDER BY views DESC LIMIT 1;
    +---------------------+
    | name                |
    +---------------------+
    | Python 基础教程      |
    +---------------------+
    

更多推荐

SQL学习之first()函数