找到 6705 篇文章 关于数据库

如何将 MySQL 返回的结果集划分为组?

Sai Nath
更新于 2020年6月20日 06:36:49

893 次浏览

这可以通过在 SELECT 语句中使用 GROUP BY 子句来实现。我们可以使用 GROUP BY 子句指定一个列作为分组标准。由于指定的条件,在特定列中具有相同值的行的视为一个组。这样,MySQL SELECT 语句返回的结果集将被划分为组。示例以下是一个很好的理解示例 - 我们有一个名为“employees”的表,如下所示 - mysql> Select * from employees; +------+-------------+--------+------------+ | id   | designation | Salary | DoJ        | +------+-------------+--------+------------+ ... 阅读更多

如何在 MySQL 返回的结果集的组级别应用过滤条件?

Arjun Thakur
更新于 2020年6月20日 06:39:36

92 次浏览

众所周知,SELECT 语句中的 GROUP BY 子句可以将 MySQL 返回的结果集划分为组。现在,如果我们只想返回一些特定的组,则需要在组级别应用过滤条件。这可以通过在 GROUP BY 子句内使用 HAVING 子句来实现。下面的示例将演示它 - 示例假设我们只想返回平均工资为 55000 的组,那么我们需要在 HAVING 子句中使用如下过滤条件 - mysql> Select count(*), AVG(salary), Designation from employees GROUP BY designation having AVG(salary) ... 阅读更多

如何利用聚合函数 COUNT(*) 和 GROUP BY 子句了解列中值的重复情况?

Ankith Reddy
更新于 2020年1月30日 05:48:55

106 次浏览

我们可以使用 COUNT(*) 和 GROUP BY 子句来找出列中值的重复情况。以下是在“Student”表的“Name”列上使用 COUNT(*) 和 GROUP BY 子句的示例,以演示它 - mysql> select count(*), name from student group by name; +----------+---------+ | count(*) | name    | +----------+---------+ | 1        | Aarav   | | 2        | Gaurav  | | 1        | Harshit | +----------+---------+ 3 rows in set (0.00 sec)上述查询的结果集显示了哪些值重复 ... 阅读更多

为什么在 MySQL SELECT 查询中不应在没有 GROUP BY 子句的情况下将聚合函数与非分组字段一起使用?

karthikeya Boyini
更新于 2020年1月30日 05:50:13

186 次浏览

这是因为,如果没有 GROUP BY 子句,MySQL 返回的结果可能会产生误导。我们将在下面给出的“Student”表上提供以下示例,以演示它 - mysql> Select * from Student; +------+---------+---------+-----------+ | Id   | Name    | Address | Subject   | +------+---------+---------+-----------+ | 1    | Gaurav  | Delhi   | Computers | | 2    | Aarav   | Mumbai  | History   | | 15   | Harshit | Delhi   | Commerce  | | 20   | Gaurav  | Jaipur  | Computers | +------+---------+---------+-----------+ 4 rows in set (0.00 sec) mysql> ... 阅读更多

在 UNIX_TIMESTAMP() 或 FROM_UNIXTIME() 函数中传递超出范围的值时,MySQL 会返回什么?

varun
更新于 2020年6月20日 06:35:01

309 次浏览

当我们在 UNIX_TIMESTAMP 中传递超出范围的值时,MySQL 返回 0。有效值范围与 TIMESTAMP 数据类型相同。示例mysql> Select UNIX_TIMESTAMP('1969-01-01 04:05:45'); +---------------------------------------+ | UNIX_TIMESTAMP('1969-01-01 04:05:45') | +---------------------------------------+ |                         0             | +---------------------------------------+ 1 row in set (0.00 sec)当我们在 FROM_UNIXTIME 中传递超出范围的值时,MySQL 返回 NULL。有效值范围与 INTEGER 数据类型相同。示例mysql> Select FROM_UNIXTIME(2147483648); +---------------------------+ | FROM_UNIXTIME(2147483648) | +---------------------------+ | NULL                      | +---------------------------+ 1 row in set (0.00 sec)

检索存储在 INT 列中作为 MySQL 时间戳的值的正确方法是什么?

Srinivas Gorla
更新于 2020年1月30日 05:53:44

164 次浏览

我们可以使用 FROM_UNIXTIME() 函数来检索值(作为 MySQL 时间戳),该值作为 INT 存储在表的列中。例如,我们有一个名为“test123”的表,它有一列名为“val1”。在此列中,我们存储了如下所示的整数值 - mysql> Select * from test123; +------------+ | val1       | +------------+ |     150862 | | 1508622563 | |  622556879 | | 2147483647 | +------------+ 4 rows in set (0.00 sec)现在,借助 FROM_UNIXTIME() 函数,我们可以以 MySQL 时间戳数据的形式检索列整数值。mysql> Select ... 阅读更多

在将时间戳值转换为整数时,在其中添加微秒,MySQL 会返回什么?

seetha
更新于 2020年6月20日 06:34:20

80 次浏览

众所周知,可以使用 UNIX_TIMESTAMP() 函数将时间戳值转换为秒数。MySQL 会忽略添加到时间戳值中的微秒,因为 UNIX_TIMESTAMP 的值只有 10 位长。示例mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36')AS 'Total Number of Seconds'; +-------------------------+ | Total Number of Seconds | +-------------------------+ | 1508625336              | +-------------------------+ 1 row in set (0.00 sec) mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36.200000')AS 'Total Number of Seconds'; +-------------------------+ | Total Number of Seconds | +-------------------------+ | 1508625336              | +-------------------------+ ... 阅读更多

在 MySQL 中,如何将时间值表示为整数?

Abhinanda Shri
更新于 2020年1月30日 05:27:51

731 次浏览

在 MySQL 中,UNIX 时间戳格式是将时间值表示为整数的方法。日期值的整数表示将是秒数。计算这些秒数的起始日期为“1970-01-01”。mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36')AS 'Total Number of Seconds'; +-------------------------+ | Total Number of Seconds | +-------------------------+ |              1508625336 | +-------------------------+ 1 row in set (0.00 sec)UNIX_TIMESTAMP 值为 10 位长。

如何在 MySQL SELECT 查询中将聚合函数与非分组字段一起使用?

Swarali Sree
更新于 2020年6月20日 06:33:44

160 次浏览

如果要在 SELECT 查询中将聚合函数与非分组字段一起使用,则必须使用 GROUP BY 子句。通用语法如下语法SELECT group_function1, …, non-group-column1, … from table_name GROUP BY column_name;示例mysql> Select COUNT(*), id from Student GROUP BY id; +----------+------+ | COUNT(*) | id   | +----------+------+ | 1        | 1    | | 1        | 2    | | 1        | 15   | | 1        | 17   | | 1        | 20   | +----------+------+ 5 ... 阅读更多

UNIX 时间戳和 MySQL 时间戳有什么区别?

vanithasree
更新于 2020年6月20日 06:29:55

1K+ 次浏览

在 MySQL 中,UNIX 时间戳存储为 32 位整数。另一方面,MySQL 时间戳也以类似的方式存储,但以可读的 YYYY-MM-DD HH:MM:SS 格式表示。例如mysql> Select UNIX_TIMESTAMP('2017-09-25 02:05:45') AS 'UNIXTIMESTAMP VALUE'; +---------------------+ | UNIXTIMESTAMP VALUE | +---------------------+ | 1506285345          | +---------------------+ 1 row in set (0.00 sec)上述查询显示 UNIX 时间戳值存储为 32 位整数,其范围与 MySQL INTEGER 数据类型范围相同。mysql> Select FROM_UNIXTIME(1506283345) AS 'MySQLTIMESTAMP VALUE'; +----------------------+ | MySQLTIMESTAMP VALUE | +----------------------+ | 2017-09-25 01:32:25  | +----------------------+ 1 row in set (0.00 sec)该查询 ... 阅读更多

广告